使用23.3.0版本的支持库并在Android M上进行测试。在显示Snackbar后,FAB重新定位问题。
当显示Snackbar时,fab正确向上移动,但当Snackbar解散时,它不会向下移动。
代码:
Snackbar.make(coordinatorLayout, R.string.msg_add_team, Snackbar.LENGTH_LONG).show();
还尝试使用Snackbar的回调功能强制关闭位置,这会打破Snackbar的后续显示,因为它将不再移动工厂。
回调代码:
@Override
public void onDismissed(Snackbar snackbar, int event) {
super.onDismissed(snackbar, event);
newGameFab.setTranslationY(0);
}
布局:
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/upcoming_game_list"
/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/new_game"
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/ic_add_white_24dp"
android:layout_gravity="bottom|end"
app:elevation="6dp"
app:pressedTranslationZ="12dp"
android:layout_marginBottom="@dimen/fab_margin_bottom"
android:layout_marginRight="@dimen/fab_margin_right"
app:borderWidth="0dp"
app:backgroundTint="@color/accent"/>
答案 0 :(得分:0)
将包含CoordinatorLayout
的包含浮动操作按钮的视图包装为:
<android.support.design.widget.CoordinatorLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/coordinatorLayout">
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/upcoming_game_list"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/new_game"
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/ic_add_white_24dp"
android:layout_gravity="bottom|end"
app:elevation="6dp"
app:pressedTranslationZ="12dp"
android:layout_marginBottom="@dimen/fab_margin_bottom"
android:layout_marginRight="@dimen/fab_margin_right"
app:borderWidth="0dp"
app:backgroundTint="@color/accent"/>
</android.support.design.widget.CoordinatorLayout>