Android 中关于ListView分割线的设置

今天发现许多App上的listview的item之间的分割线都只显示了右边一部分,而左边的那一半则没有,第一反应则是给分割线设置一张背景图片就ok了:

android:divider="@mipmap/line"

然而,后来网上找找资料后发现,可以自己去定义一个drawable,将其设置为listview的分割线(divider)

效果图:

Android 中关于ListView分割线的设置


1.drawable下的listview_item_divider:
 <?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="100dp"
android:insetRight="15dp"
android:drawable="@color/line_gray"> </inset>

2.activity_main里的listview:

 <ListView

         android:id="@+id/lv_main"
android:divider="@drawable/listview_item_divider"
android:dividerHeight="1dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>

3.item布局:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp"> <ImageView
android:id="@+id/img_item"
android:layout_width="100dp"
android:layout_height="100dp"
android:contentDescription="@null"
android:scaleType="fitXY"
android:src="@mipmap/octocat" /> <TextView
android:id="@+id/tv_item"
android:layout_width="match_parent"
android:layout_height="100dp"
android:gravity="center"
android:text="TITLE"
android:textSize="15sp" /> </LinearLayout>

4.MainActivity(由于比较简单,所以并没有严格规范编码格式)

 public class MainActivity extends AppCompatActivity {

     private ListView mListView;

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = (ListView) findViewById(R.id.lv_main);
// 为listview设置数据(没有改变图片,仅仅设置了不同的title)
List<Map<String, String>> list = new ArrayList<>();
for (int i = 0; i < 20; i++) {
Map<String, String> map = new HashMap<>();
map.put("title", "Talon" + i);
list.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this, list,
R.layout.listview_item, new String[]{"title"},
new int[]{R.id.tv_item});
mListView.setAdapter(adapter);
}
}

关于文中不好的地方,欢迎各位批评指正!

上一篇:TYVJ P1016 装箱问题


下一篇:hive 日常技巧