当前位置: 首页 > 知识库问答 >
问题:

底页对话框碎片 - 允许滚动子项

南门棋
2023-03-14

我有一个<code>BottomSheetDialogFragment</code>和一个<code>RecyclerView</code>。问题是,我想禁用<code>BottomSheetDialogFragment</code>的拖动关闭功能,只要<code>RecyclerView</code>没有向上滚动(目前我无法滚动<code>RecyclerView</code>,因为尝试将始终关闭<code>bottomSheet DialogFrame</code>)。有什么办法可以做到这一点吗?

共有3个答案

公良天逸
2023-03-14

只需添加一个(!)属性到您的布局中:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/receiversList"
    android:nestedScrollingEnabled="false"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

android:nestedScrollingEnabled=“false”完成所有工作。此外,如果使用<code>SwipeRefreshLayout</code>环绕<code>RecyclerView</code>,刷新功能将继续工作。即使您将布局放在更复杂的视图中,您的<code>BottomSheetDialog</code>仍将继续支持向下拖动以消除行为(如果在<code>RecyclerView</code>之外出现向下滑动手势)

鲜于煜祺
2023-03-14

onCreate视图中扩展再循环视图的片段中尝试此操作

recyclerView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        v.getParent().requestDisallowInterceptTouchEvent(true);
        v.onTouchEvent(event);
        return true;
    }
});

冯澄邈
2023-03-14

通过这种方式可以解决BottomSheetDialog中RecyclerView滚动问题。

来自:https://Android . JL else . eu/recycler view-within-nested scroll view-scrolling-issue-3180 b5 ad 2542

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

<android.support.v4.widget.NestedScrollView
        android:id="@+id/nestedScrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:overScrollMode="never">


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

        </LinearLayout>
    </android.support.v4.widget.NestedScrollView>
</LinearLayout>
 类似资料:
  • 我有一个,其元素样式如下: 我需要允许滚动沿Y轴当它变得高于300px,这工作很好。但我需要将设置为滚动条本身。 我尝试使用这个元素样式: 当它隐藏滚动条时,它也不允许滚动。有没有一种方法可以在滚动条不可见的情况下滚动?

  • 我预计我的< code>UICollectionView会有问题,基本上当我清除约束时,它会完美地滚动,尽管我无法到达底部(但那是另一天的事情),但是宽度太大了,我只能看到我的< code>UICollectionView的左半部分。 现在,当我设置使其适合屏幕时,它将不再滚动。即使UIRefreshControl也不会触发。 我没有办法了,有人有线索吗?或者解决办法? 非常感谢! 编辑:它不会滚

  • 我有一个对话框,它的文本视图很少。对于每个文本视图,我设置了不同的内容描述和文本。例如。 当我向用户显示对话框时,Talkback会读取文本(即文本编号3)而不是内容描述(即电视3)。 但是,如果我将鼠标悬停在任何文本视图上,Talkback将读取内容描述。 当对话框显示时,如何让它读取内容描述? PS:我尝试过在布局以及通过代码设置内容描述,但没有运气 提前感谢。

  • 我可以使用一个片段作为一个活动吗?我已经创建了一个片段,但我希望它有像活动一样的功能,所以我使用片段扩展碎片活动。然而,我有一个带有碎片的导航抽屉。当我更改为“扩展碎片活动”时,我的代码有问题?请给我指路。

  • 问题内容: 考虑我有一个问题清单。当我单击第一个问题时,它应该自动带我到页面底部。 实际上,我确实知道可以使用jQuery完成此操作。 因此,您能为我提供一些文档或一些链接,以找到该问题的答案吗? 编辑:需要滚动到页面底部的特定HTML 元素 问题答案: 不需要jQuery。我从Google搜索获得的大多数热门结果都给了我这个答案: 在嵌套元素的地方,文档可能不会滚动。在这种情况下,您需要定位要滚

  • 我有一个问题清单。当我点击第一个问题时,它应该会自动把我带到页面底部。 事实上,我确实知道这可以使用jQuery来完成。 所以,你能给我一些文件或一些链接,我可以找到这个问题的答案吗? 编辑:需要滚动到页面底部的特定HTML元素