ListView 中 divider 设置左右空白
Android 2015-11-13 2161
ListView 中 divider 是用于分隔列表中的条目,主要是为了美观,使界面显得井井有条。

默认情况下该 divider 分隔线两边会贯穿屏幕不会留空白,但是很多时候你的设计可能要求改分隔线左右两边要留一定空白。


这个时候你可能最先想到的就是设置 ListView 的 paddingLeft 和 paddingRight,这样的设计的确可以使得分割线的左右留出空白,但是这样也出现了两个问题:
  1. ListView 的滚动条不贴着屏幕,不美观;
  2. ListView 的每个 item 点击效果两边也留空了,不协调不美观;

当然也可以使用加载图片背景等方法实现,不过太麻烦,这里介绍一个比较简单的方法实现:

新建一个 drawable/divider.xml:
  
 <?xml version="1.0" encoding="utf-8"?>
 <inset xmlns:android="http://schemas.android.com/apk/res/android"
   android:insetLeft="15px"
   android:insetRight="15px" >
 
   <shape android:shape="rectangle" >
     <solid android:color="#E6E6E6" />
   </shape>
 
 </inset>
然后在 ListView 里面加入即可:
 
 android:divider="@drawable/divider"
 android:dividerHeight="1px"