ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记

一、常用技巧

①使用ViewHolder模式提高效率:

原因:ViewHolder模式充分利用ListView的视图缓存机制,避免了每次在调用getView()的时候都去通过findViewById()实例化控件。

②设置项目间分割线:

分割线的颜色和高度

③隐藏ListView的滚动条(默认在ListView滚动时,在右边会显示滚动条):

隐藏滚动条

④取消ListView的item默认的点击效果:


取消点击效果
Android自带透明色

⑤指定具体显示的Item及平滑移动:

指定具体显示的Item
平滑移动

⑥处理空ListView:

代码
ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第1张图片
布局

⑦遍历ListView中所有的Item:

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第2张图片
获取代码

⑧ListView滑动监听(方式:OnTouchListener、OnScrollListener):

a:OnTouchListener是View中的监听事件,通过监听ACTION_DOWM、ACTION_MOVE、ACTION_UP这三个事件发生的坐标来判断用户滑动的方向。

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第3张图片

使用代码

b:OnScrollListener是AbsListView中的监听事件,其封装了许多与ListView相关的信息。

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第4张图片
两个回调的使用方法

解释一下OnScroll()方法中三个参数:

参数一(firstVisibleItem):当前能看到的第一个Item的ID。(包括未显示完全的Item)

参数二(visibleItemCount):当前能看到的Item总数。(包括未显示完全的Item)

参数三(totalItemCount):整个ListView的Item总数。

通过这三个参数,可以进行一些判断,比如:

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第5张图片

判断滚动的方向
ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第6张图片
判断是否滚动到最后一行

二、常用扩展(聊天ListView):

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第7张图片
效果图

准备工作:⑴两个布局(chat_item_in和chat_item_out),布局几乎是一致的,只是换一下方向。所以这里只给其中一个布局。

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第8张图片
chat_item_in布局

⑵封装一个ChatBean,里面参数:int type、String text、Bitmap icon。

准备好了,就开始最重要的Adapter了,在这个Adapter中继承了BaseAdapter,并在getView()方法中畸形了布局的判断,从而确定使用哪种布局。这里就给出最主要的代码:

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第9张图片
getView()方法代码

最后是MainActivity:

ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记_第10张图片
MainActivity代码

到这里,ListView常用技巧和扩展就说的差不多了,当然这也只是我现在所了解的知识,ListView还有很多知识点等待各位去发掘!!!

你可能感兴趣的:(ListView常用技巧及常用扩展(聊天ListView)——Android群英传学习笔记)