android开发之Listview的使用技巧

Listview的使用技巧总结


1.修改ListView默认滑动条的样式非常简单,只需要添加一个xml属性即可:

<span style="font-family:Courier New;font-size:12px;"><span style="font-size:14px;">android:scrollbarThumbVertical="@drawable/scroll_vertical_thumb"</span></span>

2.ViewHolder的作用

就是一个持有者的类,他里面一般没有方法,只有属性,作用就是一个临时的储存器,把你getView方法中每次返回的View存起来,可以下次再用。

这样做的好处就是不必每次都到布局文件中去拿到你的View,提高了效率,一般在adapter中使用

3.ListView.getCount()与ListView.getChildCount()的区别

ListView.getCount()方法;实际上是AdapterView.getCount(),返回的是其Adapter.getCount()返回的值.也就是”所包含的Item总个数”.

ListView.getChildCount();实际上是ViewGroup.getChildCount(),返回的是显示层面上的”所包含的子View个数”.

是当item少不需要滑动时,两者相同。当item多,需要滑动时,ListView.getCount()多于ListView.getChildCount()

4.ListView.setOnScrollListener()参数详解

listView.setOnScrollListener(new OnScrollListener() {
  @Override
  public void onScrollStateChanged(AbsListView view, int scrollState) {

  }
  @Override
  public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
    /**
            firstVisibleItem表示在现时屏幕第一个ListItem(部分显示的ListItem也算)在整个ListView的位置(下标从0开始)
        **/
    Log.i("firstVisibleItem", String.valueOf(firstVisibleItem));
    
        /**
            visibleItemCount表示在现时屏幕可以见到的ListItem(部分显示的ListItem也算)总数
        **/
    Log.i("visibleItemCount", String.valueOf(visibleItemCount));
  
        /**
            totalItemCount表示ListView的ListItem总数
        **/
    Log.i("totalItemCount", String.valueOf(totalItemCount));

    /**
            listView.getFirstVisiblePosition()表示在现时屏幕第一个ListItem(第一个ListItem部分显示也算)在整个ListView的位置(下标从0开始)
        **/
    Log.i("firstPosition", String.valueOf(listView.getFirstVisiblePosition()));
  
        /**
            listView.getLastVisiblePosition()表示在现时屏幕最后一个ListItem(最后ListItem要完全显示出来才算)在整个ListView的位置(下标从0开始)
        **/
    Log.i("lasPosition", String.valueOf(listView.getLastVisiblePosition()));
  }
});
转载:http://blog.csdn.net/zanelove/article/details/43735085


5.ListView 去除边缘阴影、选中色、拖动、底部上拉、顶部下拉背景色等 

去除下滑到底部,上拉时出现的蓝色区域 
android:overScrollMode="never" 

去除ListView滑到顶部和底部时边缘的黑色阴影: 
android:fadingEdge="none" 
  
去除拖动时默认的黑色背景: 
android:cacheColorHint="#00000000" 
  
去除选中时的黄色底色: 
android:listSelector="#00000000" 
  
去除行与行之间的黑线:   
list.setDivider(null); 

ListView刷新后自动滚到最底部: 
list.setSelection(msgList.getAdapter().getCount()-1);


6.listview滚到指定位置

    private void setListViewPos(int pos) {
        if (android.os.Build.VERSION.SDK_INT >= 8) {
            mListView.smoothScrollToPosition(pos);
        } else {
            mListView.setSelection(pos);
        }
    }

如果是要置回到头部,就传入0;如果是滚动到最后一个,就传入mListView.getCount() - 1。补一点,记得设置mListView.setSelected(true)


转载:http://blog.csdn.net/xyz_fly/article/details/9246709


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值