[英]Android Bottom Sheet with Floating Action Button with Snackbar Issue
因此,我有一个浮动操作按钮,该按钮固定在底部工作表布局上。 然后,我单击一个按钮,将“底表”的状态设置为STATE_HIDDEN。 底页正确隐藏,然后弹出一个快餐栏,“浮动操作按钮”随之升高。 问题是在Snackbar关闭并且Floating Action Button重新下沉后:当我将底部工作表的状态设置回STATE_COLLAPSED时,Floating Action Button需要一秒钟或2秒钟重新调整并锚定在底部工作表上(最后一张屏幕截图) 。 如何消除延迟? 谢谢 :)
发行图片
按钮的代码:
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
final Snackbar mySnackbar
= Snackbar.make(findViewById(R.id.bottom_sheet_page),
R.string.map_undoremove, Snackbar.LENGTH_LONG);
mySnackbar.setAction(R.string.undo_string, new View.OnClickListener(){
@Override
public void onClick(View v) {
mWaypoint = mMap.addMarker(new MarkerOptions().position(mWaypoint.getPosition())
.title("Test"));
}
});
mySnackbar.show();
布局代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.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:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/bottom_sheet_page"
tools:context=".Map.MapNavDrawer" >
<!-- Your content -->
<include layout="@layout/activity_maps" />
<!-- Bottom Sheet -->
<LinearLayout
android:clickable="true"
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="250dp"
android:background="#FFFFFF"
android:orientation="vertical"
android:padding="16dp"
app:behavior_hideable="true"
app:layout_behavior="@string/bottom_sheet_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
>
<TextView
android:id="@+id/textViewWaypoint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/map_waypointtitle"
android:textStyle="bold"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/textViewLocName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textStyle="italic"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/textViewLocDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@android:color/black" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom|end"
android:orientation="horizontal">
<Button
android:id="@+id/button2"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_weight="1"
android:drawableTop="@drawable/ic_edit_black_24dp"
android:onClick="selectPlace"
android:text="@string/map_editwaypoint" />
<Button
android:id="@+id/button3"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_weight="1"
android:drawableTop="@drawable/ic_delete_black_24dp"
android:onClick="deleteWaypoint"
android:text="@string/map_removewaypoint" />
<Button
android:id="@+id/button4"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_weight="1"
android:text="@string/map_sharewaypoint"
android:drawableTop="@drawable/ic_menu_share"
style="?android:attr/buttonBarButtonStyle"/>
</LinearLayout>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/map_marker_radius"
android:tint="@android:color/white"
app:layout_anchor="@id/bottom_sheet"
app:layout_anchorGravity="top|end"
tools:ignore="VectorDrawableCompat" />
</android.support.design.widget.CoordinatorLayout>
嗨,我有完全一样的问题和两个建议:
选项A:让快餐栏从工具栏下面的顶部浮动。 在这里看到这个答案: https : //stackoverflow.com/a/31746370/5320905
选项B:增加小吃吧的高度,并像这样在FAB上显示
final Snackbar mySnackbar
= Snackbar.make(findViewById(R.id.bottom_sheet_page),
R.string.map_undoremove, Snackbar.LENGTH_LONG);
View snackbarView = mySnackbar.getView();
snackbarView.setElevation(30);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.