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

时间:2015-09-01 17:36:10

标签: android

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

我面临的问题是,每当我将NestedScrollView推到顶部或底部并看到过度滚动边时,视图上的所有按钮都无法处理任何触摸他们第一次被迫。需要第二次触摸,从那时起,任何按钮都会在第一时间响应。这就好像焦点丢失了,第一个触摸是让它回到视图,第二个触摸是真正处理的。

我试过了:

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

  2. 覆盖NestedScrollView的{​​{1}}以检测我们何时到达顶部/底部并手动请求最近视图的焦点。不起作用,会发生奇怪的事情,例如工具栏上的视图聚焦......

  3. 通过onScrollChanged模拟LinearLayout上的触摸事件。

  4. 他们都没有奏效。如果你能帮助我看到光明,请提前多多谢谢!

    编辑:似乎与this有关。

1 个答案:

答案 0 :(得分:6)

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

截至今天,它尚未在支持库v23中修复。