一、设置分割线
系统提供了两个与分割线有关的属性:
divider:设置分割线的背景颜色或图片(属性值为@null即分割线透明)
dividerHeight:设置分割线的高度
使用代码如下所示:
android:divider="#d6d6d6"
android:dividerHeight="3dp"
使用前与使用后的对比效果
不做任何处理 添加两行使用分割线代码
二、隐藏滚动条
默认的ListView在滚动的时,带有滚动条指示当前所在的位置,但我们往往并不需要,特别在数据较多时,我们只加载部分数据,滚动条也就没有存在的必要且显得不美观,我们可以通过scrollbars属性将其隐藏,代码如下所示:
android:scrollbars="none"
三、取消项的点击效果
方法很简单,只需将listSelector属性设置为透明颜色即可,代码如下所示:
android:listSelector="@android:color/transparent"
四、设置显示指定项
默认的ListView显示在第一项,而我们有时候想显示在第n项,那又如何指定呢?代码如下所示:
mListView.setSelection(n);
这个方法类似与scrollTo,都是瞬间完成的移动,除此之外还有其他方法也可实现平滑移动,如下所示:
mListView.smoothScrollBy(distance,duration);
mListView.smoothScrollToPosition(position);
mListView.smoothScrollByOffset(offset);
五、获取子项
ListView作为一个ViewGroup,提供了不少可操作子View的方法,常用的便是getChildAt(n)方法,用来获取第n个子View。
六、动态修改数据
ListView显示出来的数据有时候是需要变化的,我们虽然可以重新设置ListView的Adapter来更新数据的显示,但这显然是低效率的事情,那我们又该如何去实现呢?代码如下所示:
mDatas.add("new data");
mAdapter.notifyDataSetChanged();
在我们修改数据源后用notifyDataSetChanged()方法通知更改数据,但需要注意,这里始终必须保证是同一个数据来源,就是只修改数据源中的数据,而不是替换掉这个数据源。