如何实现三个相邻的浮动操作按钮(Android XML)

如何实现三个相邻的浮动操作按钮(Android XML),android,android-layout,material-design,floating-action-button,Android,Android Layout,Material Design,Floating Action Button,我把大的浮动操作按钮放在中间,我想在中间那个按钮旁边再放两个浮动按钮。示例pic中的红色矩形。我可以使用什么选项来实现这一点 layout.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"

我把大的浮动操作按钮放在中间,我想在中间那个按钮旁边再放两个浮动按钮。示例pic中的红色矩形。我可以使用什么选项来实现这一点


layout.xml

<RelativeLayout 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">

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:padding="20dp">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_centerVertical="true"
    android:clickable="true"
    app:fabSize="mini" />

    <TextView
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignRight="@id/floatingActionButton3"
    android:layout_marginRight="-8dp"
    android:background="@drawable/circle"
    android:elevation="10dp"
    android:text="2"
    android:textAlignment="center"
    android:textColor="#fff"
    android:textSize="16sp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    app:fabSize="auto" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:clickable="true"
    app:fabSize="mini" />

    <TextView
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignRight="@id/floatingActionButton"
    android:layout_marginRight="-8dp"
    android:background="@drawable/circle"
    android:elevation="10dp"
    android:text="3"
    android:textAlignment="center"
    android:textColor="#fff"
    android:textSize="16sp" />
    </RelativeLayout>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">

        <solid android:color="@color/colorRedDark" />

</shape>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" android:id="@+id/linearLayout">
<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp" android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent" android:layout_marginEnd="8dp"
        app:layout_constraintEnd_toEndOf="parent" android:layout_marginStart="8dp"
        app:layout_constraintStart_toStartOf="parent"/>
<TextView
        android:text="AR"
        android:textSize="28sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:id="@+id/textView"
        app:layout_constraintTop_toTopOf="@+id/fab" app:layout_constraintStart_toStartOf="@+id/fab"
        app:layout_constraintBottom_toBottomOf="@+id/fab" app:layout_constraintEnd_toEndOf="@+id/fab"
/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab2"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp" android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginStart="8dp"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginEnd="8dp" app:layout_constraintEnd_toStartOf="@+id/fab"/>

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab3"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" android:layout_marginBottom="8dp"
        app:layout_constraintStart_toEndOf="@+id/fab" android:layout_marginStart="8dp"/>
<TextView
        android:text="P"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:textSize="25sp"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        app:layout_constraintTop_toTopOf="@+id/fab2" app:layout_constraintBottom_toBottomOf="@+id/fab2"
        app:layout_constraintEnd_toEndOf="@+id/fab2" app:layout_constraintStart_toStartOf="@+id/fab2"/>
<TextView
        android:text="A"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView3"
        android:textSize="25sp"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        app:layout_constraintTop_toTopOf="@+id/fab3" app:layout_constraintBottom_toBottomOf="@+id/fab3"
        app:layout_constraintStart_toStartOf="@+id/fab3" app:layout_constraintEnd_toEndOf="@+id/fab3"/>
</androidx.constraintlayout.widget.ConstraintLayout>

@drawable/circle.xml

<RelativeLayout 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">

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:padding="20dp">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_centerVertical="true"
    android:clickable="true"
    app:fabSize="mini" />

    <TextView
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignRight="@id/floatingActionButton3"
    android:layout_marginRight="-8dp"
    android:background="@drawable/circle"
    android:elevation="10dp"
    android:text="2"
    android:textAlignment="center"
    android:textColor="#fff"
    android:textSize="16sp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    app:fabSize="auto" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:clickable="true"
    app:fabSize="mini" />

    <TextView
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignRight="@id/floatingActionButton"
    android:layout_marginRight="-8dp"
    android:background="@drawable/circle"
    android:elevation="10dp"
    android:text="3"
    android:textAlignment="center"
    android:textColor="#fff"
    android:textSize="16sp" />
    </RelativeLayout>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">

        <solid android:color="@color/colorRedDark" />

</shape>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" android:id="@+id/linearLayout">
<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp" android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent" android:layout_marginEnd="8dp"
        app:layout_constraintEnd_toEndOf="parent" android:layout_marginStart="8dp"
        app:layout_constraintStart_toStartOf="parent"/>
<TextView
        android:text="AR"
        android:textSize="28sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:id="@+id/textView"
        app:layout_constraintTop_toTopOf="@+id/fab" app:layout_constraintStart_toStartOf="@+id/fab"
        app:layout_constraintBottom_toBottomOf="@+id/fab" app:layout_constraintEnd_toEndOf="@+id/fab"
/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab2"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp" android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginStart="8dp"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginEnd="8dp" app:layout_constraintEnd_toStartOf="@+id/fab"/>

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab3"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" android:layout_marginBottom="8dp"
        app:layout_constraintStart_toEndOf="@+id/fab" android:layout_marginStart="8dp"/>
<TextView
        android:text="P"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:textSize="25sp"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        app:layout_constraintTop_toTopOf="@+id/fab2" app:layout_constraintBottom_toBottomOf="@+id/fab2"
        app:layout_constraintEnd_toEndOf="@+id/fab2" app:layout_constraintStart_toStartOf="@+id/fab2"/>
<TextView
        android:text="A"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView3"
        android:textSize="25sp"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        app:layout_constraintTop_toTopOf="@+id/fab3" app:layout_constraintBottom_toBottomOf="@+id/fab3"
        app:layout_constraintStart_toStartOf="@+id/fab3" app:layout_constraintEnd_toEndOf="@+id/fab3"/>
</androidx.constraintlayout.widget.ConstraintLayout>

您可以通过多种方式实现这一点。下面是使用constraintlayout的解决方案

活动\u map.xml

<RelativeLayout 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">

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:padding="20dp">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_centerVertical="true"
    android:clickable="true"
    app:fabSize="mini" />

    <TextView
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignRight="@id/floatingActionButton3"
    android:layout_marginRight="-8dp"
    android:background="@drawable/circle"
    android:elevation="10dp"
    android:text="2"
    android:textAlignment="center"
    android:textColor="#fff"
    android:textSize="16sp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    app:fabSize="auto" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/floatingActionButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:clickable="true"
    app:fabSize="mini" />

    <TextView
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignRight="@id/floatingActionButton"
    android:layout_marginRight="-8dp"
    android:background="@drawable/circle"
    android:elevation="10dp"
    android:text="3"
    android:textAlignment="center"
    android:textColor="#fff"
    android:textSize="16sp" />
    </RelativeLayout>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">

        <solid android:color="@color/colorRedDark" />

</shape>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" android:id="@+id/linearLayout">
<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp" android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent" android:layout_marginEnd="8dp"
        app:layout_constraintEnd_toEndOf="parent" android:layout_marginStart="8dp"
        app:layout_constraintStart_toStartOf="parent"/>
<TextView
        android:text="AR"
        android:textSize="28sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:id="@+id/textView"
        app:layout_constraintTop_toTopOf="@+id/fab" app:layout_constraintStart_toStartOf="@+id/fab"
        app:layout_constraintBottom_toBottomOf="@+id/fab" app:layout_constraintEnd_toEndOf="@+id/fab"
/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab2"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp" android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginStart="8dp"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginEnd="8dp" app:layout_constraintEnd_toStartOf="@+id/fab"/>

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab3"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:background="@drawable/round_dark_gray"
        app:pressedTranslationZ="12dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" android:layout_marginBottom="8dp"
        app:layout_constraintStart_toEndOf="@+id/fab" android:layout_marginStart="8dp"/>
<TextView
        android:text="P"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:textSize="25sp"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        app:layout_constraintTop_toTopOf="@+id/fab2" app:layout_constraintBottom_toBottomOf="@+id/fab2"
        app:layout_constraintEnd_toEndOf="@+id/fab2" app:layout_constraintStart_toStartOf="@+id/fab2"/>
<TextView
        android:text="A"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView3"
        android:textSize="25sp"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        app:layout_constraintTop_toTopOf="@+id/fab3" app:layout_constraintBottom_toBottomOf="@+id/fab3"
        app:layout_constraintStart_toStartOf="@+id/fab3" app:layout_constraintEnd_toEndOf="@+id/fab3"/>
</androidx.constraintlayout.widget.ConstraintLayout>

在res->drawable文件夹中创建round\u dark\u gray.xml文件

<?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<solid android:color="@android:color/darker_gray"/>
 </shape>


您可以根据需要创建可绘制的背景。

您也可以添加XML代码吗。