[摘]停止ListView滑动-Android

Android  代码片段  2020年8月7日 pm12:29发布4年前 (2020)更新 91es.com站长
51 0 0

shui知道

偶尔会要用到这个,目前我只试过第一种方式是ok,其他几个没有测试。

摘抄内容

  1. give it a ACTION_CANCEL touchEvent, can stop the fling. it is easy.
listView.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(),  SystemClock.uptimeMillis(), MotionEvent.ACTION_CANCEL, 0, 0, 0));
  1. You can prevent flinging for ListViews in API 8 by overriding onTouchEvent and calling smoothScrollBy.
case:smoothScrollBy(0,0);

  1. reflection(反射
    static class StopListFling {

        private static Field mFlingEndField = null;
        private static Method mFlingEndMethod = null;

        static {
            try {
                mFlingEndField = AbsListView.class.getDeclaredField("mFlingRunnable");
                mFlingEndField.setAccessible(true);
                mFlingEndMethod = mFlingEndField.getType().getDeclaredMethod("endFling");
                mFlingEndMethod.setAccessible(true);
            } catch (Exception e) {
                mFlingEndMethod = null;
            }
        }

        public static void stop(ListView list) {
            if (mFlingEndMethod != null) {
                try {
                    mFlingEndMethod.invoke(mFlingEndField.get(list));
                } catch (Exception e) {
                }
            }
        }
    }

摘抄来源

  1. 停止ListView滑动-Android

 历史上的今天

  1. 2024: Android String占位格式化(0条评论)
  2. 2023: MediaPlayer源码介绍2(0条评论)
  3. 2019: 设计模式之观察者模式(0条评论)
  4. 2019: 朱光潜:读书不在多,在于选得精,读得彻底(0条评论)
  5. 2018: Fragment生命周期的详情(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

Android图片旋转+倒影

前言根据前面两篇文章,这里进行组合也就是倒影+旋转,顺便加上了倒影渐变。效果如图。正文直接上代码<!-- layout_height= 倒影高度+分割线高度+图片高度,否则显示不全 -->​<com.biumall.reflectview.view.Rotat...

纪伯伦:岸边一捧沙

爱情的忧愁歌唱着,知识的忧愁谈论着,欲望的忧愁悄语着,贫穷的忧愁号哭着。但是,还有一种忧愁,比爱情更深沉,比知识更高贵,比欲望更有力,比贫穷更苦涩。不过,它哑然无声,眼睛像星星一样闪闪发亮。当你遇遭不幸,向邻居诉说时,你正将自己心灵的一部分托付给他。倘若他胸怀宽阔,他会感谢你;倘若他气量狭小,他会...

[摘]Android混淆从入门到精通

前言本文摘抄,网上都写的很不错,我就摘抄于此。简介作为Android开发者,如果你不想开源你的应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。混淆概念虽然容易,但很多初学者也只是网上搜一些成型的混淆规则粘贴进自己项目,并没有对混淆有个深入的理解。本篇...

SurfaceView和TextureView介绍

前言TextureView和SurfaceView常用于视频播放画面显示,项目中根据各种需求需要在二者中选中。这次记录一下他们之间的区别和特点。正文 个人随笔,只是简单总结,谢谢隐藏内容!评论可看后才能查看!评论可看参考文章《SurfaceView 与 TextureView ...

Service的Context介绍

前言对于Application,Activity和Service这几个类,我们是很[熟悉]的。确实[熟悉],作为App开发这基本都要面对这几个类。几天记录一下Service的Context创建,其实也就是简单的说说。正文Context的使用场景使用Context调用方法,比如启动A...

【摘】Android:获取内部存储信息方法总结

前言Android开发中,需要获取磁盘的大小信息。项目中也有获取磁盘信息的方法,但只有一种,因此摘抄了网上的 《Android : 获取内部存储信息方法总结》正文方法一private long getSDCardAvailSize() { String state = Envir...