14

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

前后在此处输入图像描述 _在此处输入图像描述

叫小吃店

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

XML

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/coords_wrapper">

    <!-- main contents here, left out -->
    <Relativelayout ...... />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/action_button_location"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src ="@drawable/ic_add_black"
        android:layout_gravity="right|bottom"
        android:layout_marginBottom="82dp"
        android:layout_marginRight="16dp"
        app:borderWidth="0dp"
        app:elevation="6dp"
        />

    <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"
        app:borderWidth="0dp"
        app:elevation="6dp"
        />
</android.support.design.widget.CoordinatorLayout>
4

1 回答 1

19

根据工厂的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) 之间的关系,以便第一个始终保持在另一个之上,如layout_anchorGravitylayout_gravity属性所定义的那样,都设置为top。您可能需要重新定义利润。

于 2015-08-15T16:42:29.850 回答