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

问题描述 投票:9回答:4

我有一个FloatingActionButton。我希望它是2个LinearLayouts的中间和这样的屏幕中心。 enter image description here

目前我的设计是这样的

enter image description here

我希望它在屏幕的正中心。怎么做?

这是我的整个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" />

android android-xml floating-action-button
4个回答
10
投票

你的CoordinatorLayout是一个FrameLayout,所以尝试这种方式,我希望它会帮助你。

 app:layout_anchorGravity="bottom|center"

2
投票

以上解决方案不适合我。我改变了android:layout_gravity

android:layout_gravity="bottom|center"

希望能帮助到你 :-)


1
投票

设置layout_centerHorizo​​ntal和layout_centerInParent在CoordinatorLayout中不起作用。它们只允许在RelativeLayout中使用。你应该这样做:

app:layout_anchorGravity="center|bottom"

0
投票

改为这个

app:layout_anchor="@id/viewA"
android:layout_centerHorizontal="true"
© www.soinside.com 2019 - 2024. All rights reserved.