CoordinatorLayout有两个浮动动作按钮

时间:2015-08-15 16:22:30

标签: android android-support-library android-design-library android-coordinatorlayout android-snackbar

我在CoordinateLayout视图中有两个Fab。当我展示Snackbar时,我希望两个Fab一起上升,但结果是只有一个Fab(较低的一个)响应并上升(见图)。我在这里想念什么?

berfore enter image description hereenter image description here之后

致电小吃店

UIActivityViewController

XML

 mSnackbar = Snackbar.make(getActivity().findViewById(R.id.coords_wrapper), "Loading", 1000000000);   

1 个答案:

答案 0 :(得分:17)

根据fab Behavior,只有当它与小吃店相交时才转换。顶部按钮显然不会与小吃店碰撞,所以没有任何反应。

您可以尝试定义锚点:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/action_button_location"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    app:layout_anchor="@id/action_button_filter"
    app:layout_anchorGravity="top"
    android:layout_gravity="top"
    />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/action_button_filter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src ="@drawable/ic_add_black"
    android:layout_gravity="right|bottom"
    android:layout_margin="16dp"
    />

这将确定顶部fab(action_button_location)和底部fab(action_button_filter)之间的关系,以便第一个始终保持在另一个之上,如{{1 }和layout_anchorGravity属性,都设置为layout_gravity。您可能需要重新定义边距。