个人常用的ListView方法简介

摘抄  2021年4月7日 pm7:45发布4年前 (2021)更新 城堡大人
94 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、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

冰心 : 一日的春光

去年冬末,我给一位远方的朋友写信,曾说我要尽量地吞咽今年北平的春天。今年北平的春天来得特别晚,而且在还不知春在哪里的时候,抬头忽见黄尘中绿叶成阴,柳絮乱飞,才晓得在厚厚的尘沙黄幕之后,春还未曾露面,已悄悄地远行了。天下事都是如此——去年冬天是特别地冷,也显得特别地长。每天夜里,灯下孤坐,听着扑...

茅盾:白杨礼赞

白杨树实在是不平凡的,我赞美白杨树!当汽车在望不到边际的高原上奔驰,扑入你的视野的,是黄绿错综的一条大毡子;黄的,那是土,未开垦的处女土,几十万年前由伟大的自然力所堆积成功的黄土高原的外壳;绿的呢,是人类劳力战胜自然的成果,是麦田,和风吹送,翻起了一轮一轮的绿波——,这时你会真心佩服昔人所造的两个...

[摘]Android 系统重启原因分析

重启原因分类1.上层造成重启system_server被杀watchdog重启重要线程阻塞2.kernel造成重启空指针非法地址3.kernel watchdog造成重启,原因不确定内存原因nand驱动log查看步骤及关键字1. 重启后的kernel.log或...

ViewPager的简单使用

前言ViewPager是Android中比较常见的控件,用处很大,比如广告循环播放,图片播放等都会考虑用这个。一直在用,但没有单独写一下,因此今天抽空记录一下,方便自己查阅。正文ViewPager还有一个升级版本ViewPager2,用法也差不多,但这里只介绍ViewPager的使用。个...

木心 :从前慢

记得早先少年时大家诚诚恳恳说一句 是一句 清早上火车站长街黑暗无行人卖豆浆的小店冒着热气 从前的日色变得慢车,马,邮件都慢一生只够爱一个人 从前的锁也好看钥匙精美有样子你锁了 人家就懂了

席慕容:时间

一锅米饭,放到第二天,水气就会干了一些,放到第三天,味道恐怕就有问题了。第四天,我们几乎可以发现,它已经变坏了。再放下去,眼看就要发霉了。是什么原因,使那锅米饭变馊变坏?是时间。可是,在浙江绍兴,年轻的父母生下女儿,他们就会在地窖里,埋下一坛坛米做的酒。十七八年后,女儿长大了,这些酒就成为了嫁...