Android BottomSheet 展开到另一个视图的底部

Android BottomSheet expand to bottom of another view

我试图让这个底部 sheet 只扩展到另一个视图的底部,但一直无法弄清楚。我希望 locations_list_sheet 扩展到 view1 的底部。

我试过设置偏移量,bottomSheet.setExpandedOffset(48) 但没有成功。我也试过在底部 sheet 布局的顶部设置边距,但这看起来也不对。

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

    <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <View
            android:id="@+id/view1"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="@android:color/transparent" />

        <include
            android:id="@+id/map_content"
            layout="@layout/content_locations_stoneco" />

        <include
            android:id="@+id/locations_list_content"
            layout="@layout/bottom_sheet_locations" />

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

我相信this library可以帮助你实现你想要的!

网站示例:

<com.sothree.slidinguppanel.SlidingUpPanelLayout
xmlns:sothree="http://schemas.android.com/apk/res-auto"
android:id="@+id/sliding_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
sothree:umanoPanelHeight="68dp"
sothree:umanoShadowHeight="4dp">

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="Main Content"
    android:textSize="16sp" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center|top"
    android:text="The Awesome Sliding Up Panel"
    android:textSize="16sp" />

我不知道您使用的是哪种特定布局作为底部 sheet 我认为它必须在其中一种包含的布局中...

为底部 sheet 布局添加属性 android:translationY="48dp"

    <LinearLayout
            android:layout_width="match_parent"
            android:id="@+id/botto_sheet"
            android:translationY="48dp"
            android:background="@color/colorPrimary"          
            app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
            android:layout_height="match_parent"/>

它的作用基本上是将视图向下推...就像 margin 但有点不同。

Note: I don't know whether it's the correct way to do this but it does the job ...Suggestions are always welcome

顺便说一下,您可以添加上边距,两者都可以