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
顺便说一下,您可以添加上边距,两者都可以
我试图让这个底部 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
顺便说一下,您可以添加上边距,两者都可以