个人常用的ListView方法简介

摘抄2021年4月7日 pm7:45发布3年前 (2021)更新 91es.com站长
35 0 0
目录

前言

项目中ListView还是比较常用的,ListView有些方法或者配置属性都是比较常用也比较容易忘记的。

因此,今天抽空整(抄)理(袭)一下,以便查阅。

PS: 现在RecyclerView比较多了

好记性不如烂笔头

正文

停止滚动

    private void stopListViewScroll() {
        if (null != mListView) {
            mListView.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(),
                    SystemClock.uptimeMillis(), MotionEvent.ACTION_CANCEL, 0, 0, 0));
        }
        return;
    }

去除滑到顶部和底部时边缘的黑色阴影

android:fadingEdge="none"

分割线

设置分割线

android:divider = "@android:color/black"
android:dividerHeight = "10dp"

取消分割

android:divider = "@null"

隐藏滚动条

android:scrollbars = "none"

取消ListView的item点击效果

默认是淡黄色,改为透明色。

如果需要做点击的效果,需要对每个item做点击效果(也就是适配器的layout背景)。

android:listSelector = "@android:color/transparent"

listView滚动监听事件

//listView滚动监听事件
mListView.setOnScrollListener(new OnScrollListener() {

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        switch (scrollState) {
        //滚动停止时回调
        case OnScrollListener.SCROLL_STATE_IDLE:
            break;
        //正在滚动时回调
        case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
            break;
        //抛动后由于惯性回调
        case OnScrollListener.SCROLL_STATE_FLING:
            break;
        }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
      //  firstVisibleItem 可见的第一个item
      //  visibleItemCount 能看见的item总数
      //  totalItemCount 整个Listview的总数
    }
});

设置ListView显示在第几项

setSelection()指定选项,setSelectionFromTop()指定选项,固定高度位置

//指定具体显示的item ,N是从0开始的
mListView.setSelection(N);
//position指定位置,y固定某个位置高度
setSelectionFromTop(int position, int y)

常显示滚动条

默认是true,不常显

# 常显示
android:fadeScrollbars=”false”

scrollbarStyle 属性

设置listview滚动条,使listview的内容不能被滚动条覆盖

android:scrollbarStyle="insideInset"
  1. outsideInset :

该ScrollBar显示在视图(view)的边缘,增加了view的padding. 如果可能的话,该ScrollBar仅仅覆盖这个view的背景.

  1. outsideOverlay :

该ScrollBar显示在视图(view)的边缘,不增加view的padding,该ScrollBar将被半透明覆盖

  1. insideInset :

该ScrollBar显示在padding区域里面,增加了控件的padding区域,该ScrollBar不会和视图的内容重叠.

  1. insideOverlay :

该ScrollBar显示在内容区域里面,不会增加了控件的padding区域,该ScrollBar以半透明的样式覆盖在视图(view)的内容上.


参考文章

  1. ListView常用方法整理
  2. scrollBarStyle- listview滑动条调整
  3. android中ListView,ScrollView滚动条常显和隐藏

 历史上的今天

  1. 2024: service.te:57: ERROR: end of file in comment(0条评论)
  2. 2020: 梁实秋 :把快乐种在心里(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com[备用域名]
3、 本站内容: 部分来源于网络,仅供站长学习和参考,若侵权请留言

暂无评论

暂无评论...

随机推荐

林清玄:再加两个苹果

一位小学老师对我说起,他怎么使一班小学生被改造的秘诀。他的学生在低年级的时候遇到一个非常严格的老师,给学生的作业很多,而给学生的评价却很低。在这位老师的笔下很少有学生可以得到甲,得到乙已经很不错,有许多学生拿到丙、丁,使得学生的家长对自己的孩子都不谅解,学生对学习也逐渐失去信心了。当这班学生升到...

简单跟踪一下getSystemService()

前言记录一下getSystemService()获取的源码流程,加深一下印象。正文这里以获取AudioManager为例AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);g...

[摘]Android稳定性(一)SWT和ANR

前言查找SWT啥意思时找到这篇文章,加上项目中用的也是MTK平台,因此摘抄这篇文章于此,方便自己学习和查阅。本文摘抄,感谢作者分析。好记性不如烂笔头正文SWT这里解释了什么是SWT以及SWT的作用。什么是SWTSWT:software watchdog,监控SystemServer进...

龙应台:我为什么要求你读书

那天我问你,“你将来想做什么”,我注意到,你很不屑于回答我这个问题,所以跟我胡诌一通。是因为你们这个时代的人,对未来太自信,所以不屑与像我这一代人年轻时一样,讲究勤勤恳恳、如履薄冰,还是其实你们对于未来太没信心,所以假装出一种嘲讽和狂妄的姿态,来闪避我的追问?我几乎要相信,你是在假装潇洒了。今天的...

付志勇:为你写诗

为你写诗为你写下美丽的文字一个词就是一片绿叶一句话就是一萼花朵一首诗呢那里面呵一定有你想要的春天 你是我诗里婉约的女子是我千娇百媚的公主一袭紫衣花随衣襟从我门前的陌上悄悄走过你回眸浅浅一笑照亮尘世里我多少黯淡的时日 可我不是你想象里的王子真的不是...

Android多窗口模式简单记录

前言在Android N以上设备,可以开启多窗口模式,也叫分屏模式,即在屏幕上可以同时显示多个窗口,这多个窗口可以是不同应用的,也可以是同一个应用的。正文禁用分屏app默认允许分屏,如果想要禁止分屏可以在AndroidManifest的Application节点或者Activity节点添加...