listview的几个特别的属性设置

第一:cacheColorHint属性,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性   android:background="@drawable/bg",不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果。如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将
?
代码片段,双击复制
01
android:cacheColorHint= "@android:color/transparent"
与setCacheColorHint(Color.TRANSPARENT);的效果是一样的.

第二:divider属性,该属性作用是每一项之间需要设置一个图片做为间隔,或是去掉item之间的分割线android:divider="@drawable/list_driver"  其中   @drawable/list_driver   是一个图片资源,如果不想显示分割线则只要设置为
?
代码片段,双击复制
01
android:divider= "@null"
与setDivider(getResources().getDrawable(android.R.color.transparent));的效果是一样的.

第三:fadingEdge属性,上边和下边有黑色的阴影
?
代码片段,双击复制
01
android:fadingEdge= "none"
与setVerticalFadingEdgeEnabled(false);的效果是一样的.

第四:scrollbars属性,作用是隐藏listView的滚动条.
?
代码片段,双击复制
01
android:scrollbars= "none"
  setVerticalScrollBarEnabled(false);的效果是一样的,不活动的时候隐藏,活动的时候也隐藏

第五:listSelector属性,作用是点击listView条目的背景色.
?
代码片段,双击复制
01
android:listSelector= "@android:color/transparent"
与setSelector(android.R.color.transparent   );的效果是一样的,去掉点击条目默认的选中色。



//去除ListView滑到顶部和底部时边缘的黑色阴影:
android:fadingEdge="none"
//去除拖动时默认的黑色背景:
android:cacheColorHint="#00000000"
//去除选中时的黄色底色:
android:listSelector="#00000000"  

//去除行与行之间的黑线:
msgList.setDivider(null);  
//ListView刷新后自动滚到最底部:
msgList.setSelection(msgList.getAdapter().getCount()-1); 


保存恢复ListView当前位置
private void saveCurrentPosition() {
        if (mListView != null) {
            int position = mListView.getFirstVisiblePosition();
            View v = mListView.getChildAt(0);
            int top = (v == null) ? 0 : v.getTop();
            //保存position和top
        }
    }
    
    private void restorePosition() {
        if (mFolder != null && mListView != null) {
            int position = 0;//取出保存的数据
            int top = 0;//取出保存的数据
            mListView.setSelectionFromTop(position, top);
        }
    }
可以保存在Preference中或者是数据库中,数据加载完后再设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值