一、常用技巧
①使用ViewHolder模式提高效率:
原因:ViewHolder模式充分利用ListView的视图缓存机制,避免了每次在调用getView()的时候都去通过findViewById()实例化控件。
②设置项目间分割线:
分割线的颜色和高度③隐藏ListView的滚动条(默认在ListView滚动时,在右边会显示滚动条):
隐藏滚动条④取消ListView的item默认的点击效果:
取消点击效果 Android自带透明色
⑤指定具体显示的Item及平滑移动:
指定具体显示的Item平滑移动
⑥处理空ListView:
代码布局
⑦遍历ListView中所有的Item:
获取代码⑧ListView滑动监听(方式:OnTouchListener、OnScrollListener):
a:OnTouchListener是View中的监听事件,通过监听ACTION_DOWM、ACTION_MOVE、ACTION_UP这三个事件发生的坐标来判断用户滑动的方向。
使用代码
b:OnScrollListener是AbsListView中的监听事件,其封装了许多与ListView相关的信息。
两个回调的使用方法解释一下OnScroll()方法中三个参数:
参数一(firstVisibleItem):当前能看到的第一个Item的ID。(包括未显示完全的Item)
参数二(visibleItemCount):当前能看到的Item总数。(包括未显示完全的Item)
参数三(totalItemCount):整个ListView的Item总数。
通过这三个参数,可以进行一些判断,比如:
判断滚动的方向 判断是否滚动到最后一行
二、常用扩展(聊天ListView):
效果图准备工作:⑴两个布局(chat_item_in和chat_item_out),布局几乎是一致的,只是换一下方向。所以这里只给其中一个布局。
chat_item_in布局⑵封装一个ChatBean,里面参数:int type、String text、Bitmap icon。
准备好了,就开始最重要的Adapter了,在这个Adapter中继承了BaseAdapter,并在getView()方法中畸形了布局的判断,从而确定使用哪种布局。这里就给出最主要的代码:
getView()方法代码最后是MainActivity:
MainActivity代码
网友评论