寻找有关如何创建这两个“浮动操作”按钮的指导

时间:2018-10-04 03:00:44

标签: android material-design

我想创建一些按钮,就像您在图片中看到的(绿色的+和红色的-小按钮)。我已经在材料设计文档中搜索了这些按钮,但是在这些特定的小按钮上什么都找不到。

  1. 这些只是小型FAB,还是有些不同?

  2. 有人知道如何重新创建这些按钮吗? 不是,FAB吗?

我从奥利奥(Oreo)中默认的Samsung Contacts应用获取了此屏幕截图。

Samsung default Contacts app in oreo

1 个答案:

答案 0 :(得分:1)

  

这些只是小型FAB,还是有些不同?

您可以说它可以是使用自定义bacground的小型FAB,也可以使用自定义背景查看

  

有人知道FAB是否是这些按钮的重新创建吗?

在这种情况下,您可以使用具有自定义背景的imagebutton,例如:

1。像这样创建新的可绘制对象

<?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/white"/>
    <stroke android:color="@color/gray22"
        android:width="1dp"/>
</shape>

2。。最后将自定义背景添加到布局中:

<ImageButton
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_gravity="end|bottom"
        android:layout_margin="24dp"
        android:background="@drawable/a_fab"
        android:src="@drawable/your_icon"/>

如果您想使用Fab,可以尝试以下方法:

1。。像这样创建新的可绘制对象

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">


    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="oval">
            <solid android:color="@android:color/white"/>
            <stroke android:color="@color/gray22"
                android:width="1dp"/>
        </shape>

    </item>

    <!-- for icon -->
    <item android:gravity="center" android:top="8dp" android:left="8dp"
        android:right="8dp" android:bottom="8dp">
        <bitmap android:src="@drawable/your_icon
            android:gravity="center" />

    </item>

</layer-list>

2。。将此代码添加到 dimens.xml

<dimen name="design_fab_image_size" tools:override="true">56dp</dimen> 

3。。最后将自定义背景添加到您的布局中

<android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:layout_margin="24dp"
        android:src="@drawable/a_fab"/>

使用FAB this

的参考