NestedScrollview 中元素上的 Clicklistener / Touchlistener 会拦截滚动
Clicklistener / Touchlistener on elements inside NestedScrollview do intercept scroll
我的结构是这样的:
<CoordinatorLayout>
<AppBarLayout>
<CollpasingToolbarLayout>
<ImageView />
<Toolbar />
</CollpasingToolbarLayout>
</AppBarLayout>
<NestedScrollView>
<LinearLayout>
<CardView>
<LinearLayout />
<CardView>
....
</LinearLayout>
</NestedScrollView>
<TextView />
</CoordinatorLayout>
我在 cardview 元素上有一个 onClick/onTouchListener。 onTouch/onClick 事件有效。但是,如果我想在其中一个带有 onClickListener 的卡片元素上开始滚动,滚动视图就会被拦截,它根本不会滚动。
在一个非常相似但较旧的结构上它起作用了,但现在我尝试了所有方法但我仍然无法弄清楚我缺少什么。
有人知道吗?
非常感谢
干杯
这是 Android 支持库中的错误。看这里:https://code.google.com/p/android/issues/detail?id=182549
我遇到了同样的问题。这已通过最新的支持库版本 (23.1.0) 为我修复。
我遇到了同样的问题。确保您的 gradle
依赖项包括:
compile 'com.android.support:appcompat-v7:23.1.0'
您可以阅读 this article 以进一步了解新的支持库更新!
我的结构是这样的:
<CoordinatorLayout>
<AppBarLayout>
<CollpasingToolbarLayout>
<ImageView />
<Toolbar />
</CollpasingToolbarLayout>
</AppBarLayout>
<NestedScrollView>
<LinearLayout>
<CardView>
<LinearLayout />
<CardView>
....
</LinearLayout>
</NestedScrollView>
<TextView />
</CoordinatorLayout>
我在 cardview 元素上有一个 onClick/onTouchListener。 onTouch/onClick 事件有效。但是,如果我想在其中一个带有 onClickListener 的卡片元素上开始滚动,滚动视图就会被拦截,它根本不会滚动。
在一个非常相似但较旧的结构上它起作用了,但现在我尝试了所有方法但我仍然无法弄清楚我缺少什么。
有人知道吗?
非常感谢 干杯
这是 Android 支持库中的错误。看这里:https://code.google.com/p/android/issues/detail?id=182549
我遇到了同样的问题。这已通过最新的支持库版本 (23.1.0) 为我修复。
我遇到了同样的问题。确保您的 gradle
依赖项包括:
compile 'com.android.support:appcompat-v7:23.1.0'
您可以阅读 this article 以进一步了解新的支持库更新!