美文网首页Android开发经验谈Android开发Android技术知识
ListView常用技巧及常用扩展(聊天ListView)——A

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

作者: 辰_鱼 | 来源:发表于2019-03-12 11:04 被阅读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还有很多知识点等待各位去发掘!!!

    相关文章

      网友评论

        本文标题:ListView常用技巧及常用扩展(聊天ListView)——A

        本文链接:https://www.haomeiwen.com/subject/yznwpqtx.html