gpt4 book ai didi

java - RecyclerView 在其他 View 之上没有触摸事件(覆盖)

转载 作者:行者123 更新时间:2023-11-29 23:13:30 27 4
gpt4 key购买 nike

我想创建一个具有多个滚动同步(已经工作)的 recyclerviews 的布局,并且在包含这些 recyclerviews 的整个 LinearLayout 之上我想要另一个 recyclerview(覆盖)也与其他人滚动同步(已经在职的)。

现在我的问题:叠加层应该忽略所有触摸/点击事件,就像它不存在一样。 linearlayour 内的 View 应该对它们使用react(在没有覆盖的情况下工作)。

我试图让它与 onIntercerptTouchEvent 一起工作,并将 TouchEvents 分派(dispatch)给其他 View ,但我不知道如何让它工作。

我的布局:vertical_layout 包含多个 Recyclerviews 如前所述

    <ScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="false">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false">

<LinearLayout
android:id="@+id/vertical_layout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/channels_layout">
</LinearLayout>

<CustomOverlayRecyclerView
android:id="@+id/overlay_recycler_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>

<LinearLayout
android:id="@+id/channels_layout"
android:layout_width="90dp"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent">

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

最佳答案

向您的自定义 RecyclerView 添加以下覆盖:

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
return false;
}

这将阻止自定义 RecyclerView 接收更多触摸事件并将它们定向到底层 View 。看这个Stack Overflow post有关其工作原理的解释以及指向其他资源的链接。

关于java - RecyclerView 在其他 View 之上没有触摸事件(覆盖),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55695960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com