android - NestedScrollView 中的项目在滚动到顶部或底部后需要单击两次

标签 android

我在 CoordinatorLayout 中有一个 NestedScrollView。在 NestedScrollView 中,我有一个包含一些组件的 LinearLayout,其中一些是按钮。组件没有自定义,我只有标准布局参数。

我面临的问题是,每当我将 NestedScrollView 推到顶部或底部并看到 overscroll edges 时, View 上的所有按钮都不会第一次按下时处理任何触摸。需要第二次触摸,从那时起任何按钮都会第一次响应。就好像焦点丢失了,第一次触摸是让它回到 View ,第二次触摸才是真正处理的。

我试过:

  1. 设置 focusable=truefocusableInTouchMode=truedescendantFocusability=afterDescendants。不起作用。

  2. 重写 NestedScrollViewonScrollChanged 以检测我们何时到达顶部/底部并手动请求最近 View 的焦点。不起作用,发生奇怪的事情,例如工具栏上的 View 获得焦点...

  3. 通过 dispatchTouchEvent()LinearLayout 上模拟触摸事件。

他们都没有工作。非常感谢您能帮助我看到光明!

编辑:似乎与 this 有关.

最佳答案

显然这是一个错误: https://code.google.com/p/android/issues/detail?id=178041

到今天为止,它还没有在支持库 v23 中修复。

关于android - NestedScrollView 中的项目在滚动到顶部或底部后需要单击两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32337729/

相关文章:

android - 多个具有 DEFAULT 类别的 Intent 过滤器

android - 如何启用/禁用 FloatingActionButton 行为

php - PhoneGap-Android : Push Notification by Urban Airship from my server

android - 从应用程序主屏幕切换到其他 Activity 时应用程序崩溃

android - 在 Jenkins 上安装 Android NDK

android - 无法使用 SQLiteAssetHelper 类复制数据库

android - 如何将对话框窗口包装到内容中?

android - Firebase 的 ProGuard 规则是什么?

android - 检查图像是否已通过 Glide 加载图像(url)

java - android 抽屉导航不想被点击