如何在android中的底部工作表和浮动操作按钮之间添加边距。我通过使用另一个FAB并使其不可见而使其工作,但FAB仅在底部工作表上方。见图:https://babeljs.io/docs/plugins/transform-react-jsx/
代码:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinator"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:theme="@style/Theme.AppCompat.NoActionBar"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:id="@+id/search_relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/Theme.AppCompat.NoActionBar">
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@android:color/white"
android:elevation="1dp"
app:behavior_hideable="true"
app:behavior_peekHeight="0dp"
app:layout_behavior="@string/bottom_sheet_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/circle_picture"
android:src="@mipmap/login_background"
android:layout_margin="10dp"
android:layout_width="50dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/name_bottom_sheet"
android:layout_toEndOf="@id/circle_picture"
android:text="Title"
android:textColor="@color/buttonLoginColor"
android:layout_margin="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/address_bottom_sheet"
android:layout_below="@id/name_bottom_sheet"
android:layout_toEndOf="@id/circle_picture"
android:layout_marginStart="10dp"
android:textColor="@color/btn_create"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_margin="15dp"
app:layout_anchor="@id/bottom_sheet"
app:layout_anchorGravity="top|end"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/floatingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="50dp"
android:layout_marginEnd="15dp"
app:backgroundTint="@color/buttonLoginColor"
app:borderWidth="0dp"
app:elevation="6dp"
app:layout_anchor="@id/fab2"
app:layout_anchorGravity="top"/>
</android.support.design.widget.CoordinatorLayout>
我正在使用NestedScrollView来显示底部工作表。
答案 0 :(得分:0)
是的,您可以尝试使用RelativeLayout
,我仍然无法理解为什么您使用300dp给出底部固定高度,无论如何这样做会没有其他制作工具按钮..
<RelativeLayout
android:id="@+id/coordinator"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:theme="@style/Theme.AppCompat.NoActionBar"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:id="@+id/search_relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/Theme.AppCompat.NoActionBar">
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentBottom="true"
android:background="@android:color/white"
android:elevation="1dp"
app:behavior_hideable="true"
app:behavior_peekHeight="0dp"
app:layout_behavior="@string/bottom_sheet_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/circle_picture"
android:src="@mipmap/login_background"
android:layout_margin="10dp"
android:layout_width="50dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/name_bottom_sheet"
android:layout_toEndOf="@id/circle_picture"
android:text="Title"
android:textColor="@color/buttonLoginColor"
android:layout_margin="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/address_bottom_sheet"
android:layout_below="@id/name_bottom_sheet"
android:layout_toEndOf="@id/circle_picture"
android:layout_marginStart="10dp"
android:textColor="@color/btn_create"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/floatingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/bottom_sheet"
android:layout_margin="15dp"
app:backgroundTint="@color/buttonLoginColor"
app:borderWidth="0dp"
android:layout_alignParentRight="true"
app:elevation="6dp"
app:layout_anchorGravity="top"/>
</RelativeLayout>
您还可以根据需要设置fab按钮边距。
答案 1 :(得分:0)
我有同样的问题。经过几个小时的研究,我发现由于材料设计指南,无法通过layout_anchor进行研究。你需要使用下面的技巧。我正在使用透明视图,在fab和底层内容视图之间创建边距。
这就是我解决问题的方法:
FAB本身:
<android.support.design.widget.FloatingActionButton
...
app:layout_anchor="@+id/bottomPanel"
app:layout_anchorGravity="right"/>
BottomSheet:
<FrameLayout
android:id="@+id/bottomPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:backgound="@android:color/transparent"
app:layout_behavior="@string/bottom_sheet_behavior">
<ContentView
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="44dp"
android:backgound="@color/colorPrimary" />
</FrameLayout>
只需使根视图透明,将内容视图放入其中并添加44dp的边距(工厂尺寸= 56dp。工厂填充= 16dp.56 / 2 + 16 = 44)