如何将浮动操作按钮对齐到中心

How to align Floating Action Button to center

我有一个 FloatingActionButton。我希望它像这样位于 2 个 LinearLayouts 的中间和屏幕中心。

目前我的设计是这样的

我希望它位于屏幕的正中央。怎么做?

这是我的全部 xml 代码

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:id="@+id/viewA"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1.6"
        android:orientation="horizontal"/>
    <LinearLayout
        android:id="@+id/viewB"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:orientation="horizontal"/>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:src="@drawable/ic_plus"
    app:layout_anchor="@id/viewA"
    android:layout_centerHorizontal="true"
    app:layout_anchorGravity="bottom"
    android:layout_centerInParent="true" />

改成这个

app:layout_anchor="@id/viewA"
android:layout_centerHorizontal="true"

你的 CoordinatorLayoutFrameLayout ,所以试试这个, 希望对你有帮助。

 app:layout_anchorGravity="bottom|center"

设置 layout_centerHorizontal 和 layout_centerInParent 在 CoordinatorLayout 中不起作用。它们只允许出现在 RelativeLayout 中。你应该这样做:

app:layout_anchorGravity="center|bottom"

以上解决方案不知何故对我不起作用。 我将 android:layout_gravity 更改为

android:layout_gravity="bottom|center"

希望对您有所帮助:-)