Android启动应用时屏蔽RecyclerView滑动,延时后再允许滑动,Kotlin

Android启动应用时屏蔽RecyclerView滑动,延时后再允许滑动,Kotlin

Kotlin 复制代码
        var bCanScrollVertically = false

        lifecycleScope.launch(Dispatchers.Default) {
            repeatOnLifecycle(Lifecycle.State.CREATED) {
                Log.d(TAG, "Lifecycle.State.CREATED")
                delay(8000) //延迟一定时间才允许用户滑动recyclerview

                bCanScrollVertically = true
                Log.d(TAG, "repeatOnLifecycle delay 结束")
            }
        }

        val layoutManager = object : LinearLayoutManager(this) {
            override fun canScrollVertically(): Boolean {
                return bCanScrollVertically
            }
        }

        val gestureDetector = GestureDetector(this, object : GestureDetector.SimpleOnGestureListener() {
            override fun onFling(e1: MotionEvent?, e2: MotionEvent, velocityX: Float, velocityY: Float): Boolean {
                if (!bCanScrollVertically) {
                    Toast.makeText(applicationContext, "请耐心等待几秒再滑动", Toast.LENGTH_SHORT).show()
                }

                return super.onFling(e1, e2, velocityX, velocityY)
            }
        })

        rv.setOnTouchListener(object : View.OnTouchListener {
            override fun onTouch(v: View?, event: MotionEvent?): Boolean {
                if (!bCanScrollVertically) {
                    gestureDetector.onTouchEvent(event!!)
                }
                return false
            }
        })

        layoutManager.orientation = LinearLayoutManager.VERTICAL
        rv.layoutManager = layoutManager

Android RecyclerView GestureDetector SimpleOnGestureListener,kotlin-CSDN博客文章浏览阅读428次。Android RecyclerView单击、长按事件:基于OnItemTouchListener + GestureDetector标准实现Android RecyclerView虽然拥有ListView绝大多数的功能,但Android RecyclerView却没有实现像ListView那样的点击事件、长按事件的标准实现方式,我在附录文章1中介绍的方式,实现了典型的RecyclerView。https://blog.csdn.net/zhangphil/article/details/130506750Android:GestureDetector.SimpleOnGestureListener,onFling,onScroll,velocityX,Y&distanceX,Y,kotlin_simpleongesturelistener onscroll-CSDN博客文章浏览阅读338次。Android不用OnScrollListener采用GestureDetector结合OnTouchListener实现ListView下拉/上拉刷新通常Android的ListView的下拉/上拉刷新实现,使用OnScrollListener比较简单,比如如果要实现下拉见顶刷新,思路是在OnScrollListener判断当前ListView的滚动状态,如果滚动停止,则将此时Lis。_simpleongesturelistener onscrollhttps://blog.csdn.net/zhangphil/article/details/130812011

相关推荐
xuboyok24 分钟前
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
android·数据库·mysql
羑悻的小杀马特20 分钟前
LangChain实战:工具调用+结构化输出,让AI从“聊天“变“干活“
android·人工智能·langchain
秋饼1 小时前
[EXPLAIN:SQL 执行计划分析与性能优化实战]
android·sql·性能优化
robotx2 小时前
如何从framework层面跳过app开屏广告(简单模拟)
android
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 基于Android的大学生兼职APP设计为例,包含答辩的问题和答案
android
tongxh4233 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
阿拉斯攀登3 小时前
第 3 篇 保姆级手把手!RK 安卓驱动开发环境搭建(Ubuntu20.04 + 官方 SDK),踩坑全规避
android·驱动开发·瑞芯微·rk安卓驱动
PokeMa3 小时前
[协程]-[详解]-[协程作用域]-viewModelScope
kotlin·协程·源码分析·viewmodelscope·原理分析·协程作用域
新缸中之脑3 小时前
使用 AI 进行科学调试
android·人工智能·kotlin
QING6184 小时前
Android Gradle Plugin 9.0 升级指南:告别十年技术债,你准备好了吗?
android·kotlin·gradle