zoukankan      html  css  js  c++  java
  • Android开发系列之ListView

          在Android开发中,我们最常接触的控件之一就是ListView,因为我们常常需要展示列表文本或者图片信息。但是因为ListView所展示的信息容量太大了,所以如果我们处理不当的话,那么就有可能会带来性能问题。

          优化之一就是在Adapter里面采用ViewHolder进行视图缓存,避免了每次在调用getView()的时候都去通过findViewById()实例化控件。据测试,使用ViewHolder将提高50%以上的效率。具体的使用方法很多,读者可以自行进行查找。

          优化之二直接利用属性设置分割线,通过属性divider可以设置分割线的颜色,通过dividerHeight可以设置分割线的高度。这样的话,我们就不需要在adapter加载的item view单独设置一个分割线了。

          优化之三隐藏滚动条和取消ListView的item点击效果,可以分别通过属性android:scrollbars="none"和android:listSelector="@android:color/transparent"。

          优化之四遍历ListView中的所有item,通过代码:for循环,mListView.getChildAt(i)获取。

          优化之五处理空ListView,通过调用setEmptyView设置一个空的显示页面。

          优化之六在onTouchEvent事件里面,判断上滑、还是下滑,进而实现一些定制化的效果。

          demo微信聊天页面,我们可以在Adapter的getView方法里面,根据一个聊天类型加载不同的View。

  • 相关阅读:
    I Hate It
    满减优惠[Offer收割]编程练习赛4
    积水的城市 hiho[Offer收割]编程练习赛4
    Subsequence 尺取法
    526. 优美的排列
    401. 二进制手表
    306. 累加数
    216. 组合总和 III
    131. 分割回文串
    ubuntu deepin-软件 分辨率的问题
  • 原文地址:https://www.cnblogs.com/xiaocai20091687/p/xiaocai_android_new_7.html
Copyright © 2011-2022 走看看