ListView使用技巧之常用属性与方法

来源:互联网 发布:锐捷交换机ip mac绑定 编辑:程序博客网 时间:2024/06/09 22:07

一、设置分割线

系统提供了两个与分割线有关的属性:

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()方法通知更改数据,但需要注意,这里始终必须保证是同一个数据来源,就是只修改数据源中的数据,而不是替换掉这个数据源。


原创粉丝点击