Android开发经验谈Android开发Android技术知识

ListView常用技巧及常用扩展(聊天ListView)——A

2019-03-12  本文已影响30人  辰_鱼

一、常用技巧

①使用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代码

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

上一篇 下一篇

猜你喜欢

热点阅读