Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 垂直快速滚动可在回收器视图中拖动,仅在底部导航抽屉和工具栏下方移动,如谷歌照片_Android_Android Recyclerview - Fatal编程技术网

Android 垂直快速滚动可在回收器视图中拖动,仅在底部导航抽屉和工具栏下方移动,如谷歌照片

Android 垂直快速滚动可在回收器视图中拖动,仅在底部导航抽屉和工具栏下方移动,如谷歌照片,android,android-recyclerview,Android,Android Recyclerview,我有一个主要的活动,它有一个导航抽屉和一个动态添加片段的框架布局。其中一个片段的布局有一个recycler视图,我希望recycler视图占据设备的整个高度,以便recycler视图在工具栏和底部导航下滚动。我正在向recycler viewer添加快速滚动,但verticalscrolldrawable也在设备的整个高度之间滚动,但我希望它限制在底部导航和工具栏之间,就像在谷歌照片中一样 样本图像- 主要活动 <layout xmlns:android="http://schemas.

我有一个主要的活动,它有一个导航抽屉和一个动态添加片段的框架布局。其中一个片段的布局有一个recycler视图,我希望recycler视图占据设备的整个高度,以便recycler视图在工具栏和底部导航下滚动。我正在向recycler viewer添加快速滚动,但verticalscrolldrawable也在设备的整个高度之间滚动,但我希望它限制在底部导航和工具栏之间,就像在谷歌照片中一样

样本图像-

主要活动


<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

        <import type="android.view.View" />

        <import type="com.nowfloats.laxmi.home.ui.HomeActivity" />

        <variable
            name="home"
            type="HomeActivity" />
    </data>

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context=".home.ui.HomeActivity">

        <FrameLayout
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/white" />

        <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
            android:id="@+id/extended_fab"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton.Icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_margin="@dimen/dp_16"
            android:backgroundTint="@color/laxmi_green"
            android:text="@string/add_new_inventory"
            android:textColor="@color/white"
            android:textSize="@dimen/sp_12"
            android:visibility="@{home.fabObservable ? View.VISIBLE : View.GONE}"
            app:fabSize="mini"
            app:icon="@drawable/ic_add"
            app:iconPadding="@dimen/dp_4"
            app:iconSize="@dimen/dp_20"
            app:iconTint="@color/white"
            app:layout_anchor="@id/bottom_navigation"
            app:layout_anchorGravity="top|right"
            app:layout_insetEdge="bottom" />

        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/bottom_navigation"
            android:layout_width="match_parent"
            android:layout_height="@dimen/navigation_drawer_height"
            android:layout_gravity="bottom"
            android:alpha=".98"
            android:background="@color/laxmi_light_green"
            android:theme="@style/Widget.BottomNavigationView"
            app:itemIconTint="@drawable/bottom_navigation_drawable_colors"
            app:itemTextAppearanceActive="@style/BottomNavigationView.Active"
            app:itemTextAppearanceInactive="@style/BottomNavigationView"
            app:itemTextColor="@drawable/bottom_navigation_drawable_colors"
            app:labelVisibilityMode="labeled"
            app:menu="@menu/bottom_navigation_menu" />

    </androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>```


product_fragment-

    ```
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/coordinatorLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white"
        android:clipChildren="false">

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:fastScrollEnabled="true"
            android:paddingBottom="@dimen/navigation_drawer_height"
            app:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable"
            app:fastScrollHorizontalTrackDrawable="@drawable/line_drawable"
            app:fastScrollVerticalThumbDrawable="@drawable/thumb_drawable"
            app:fastScrollVerticalTrackDrawable="@drawable/line_drawable"
            tools:listitem="@layout/product_list_single_item" />

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/header_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:background="@color/white"
            tools:context=".products.ui.ProductFragment">
        </androidx.appcompat.widget.Toolbar>
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
    ```

```
产物片段-
```
```

您可以根据需要抓取并修改它。它只是一个
项目装饰
/
OnItemTouchListener
,因此没有理由不能在外部应用它。我用它做了一个快速测试,只需要抓取一个类,所以它相对简单。谢谢迈克。但我无法理解如何更改此文件以使其适合我。如何添加等于底部导航视图高度的边距?所以它只是滚动到导航视图的底部。我将清理前面的测试代码,并在以后有机会时尝试整理一个基本示例。谢谢Mike。Will waitOK,这是修改过的类:。你会像这样使用它:。如果您的
回收视图
位于
片段
中,并且您确实希望滚动条以
活动
中的
底部导航视图
为边界,则您必须以某种方式获得
底部导航视图
或它的高度,至少到
片段
,以便在
集合插图()中使用
方法。您可以根据需要获取并修改它。它只是一个
项目装饰
/
OnItemTouchListener
,因此没有理由不能在外部应用它。我用它做了一个快速测试,只需要抓取一个类,所以它相对简单。谢谢迈克。但我无法理解如何更改此文件以使其适合我。如何添加等于底部导航视图高度的边距?所以它只是滚动到导航视图的底部。我将清理前面的测试代码,并在以后有机会时尝试整理一个基本示例。谢谢Mike。Will waitOK,这是修改过的类:。你会像这样使用它:。如果您的
RecyclerView
位于
片段中,并且您确实希望滚动条以
活动中的
BottomNavigationView
为边界,那么您必须以某种方式获得
BottomNavigationView
或它的高度,至少是
片段的高度,以便在
setInsets()
方法中使用。