我正在尝试使用BottomSheetBehavior
进行类似于Google Maps提供的布局。我成功使用了BottomSheetBehavior
并创建了向上滑动的布局。我现在遇到的问题是,即使我的布局折叠了,CordinatorLayout
也会占用额外的空间。
下面是我的布局的屏幕截图。
我的主布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content">
<include layout="@layout/sample_coordinator" />
</FrameLayout>
具有BottomSheetBehavior的CordinatorLayout
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/common_google_signin_btn_text_light_disabled">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:behavior_hideable="false"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
<TextView
android:layout_width="match_parent"
android:layout_height="250dp"
android:background="@color/colorPrimary" />
</FrameLayout>
最佳答案
您必须在 Activity 布局中使用CoordinatorLayout。
然后在您的 Bottom Sheet 布局中插入以下行:
app:behavior_hideable="true"
app:behavior_peekHeight="Xdp"