在支持库中设置FloatingActionButton的边框颜色

8

在支持库中引入了FloatingActionButton。有一个选项可以使用app:borderWidth="2dp"来设置按钮的边框宽度,但是如何设置边框颜色呢?

我创建了一个自定义drawable来实现这个目的,例如:

<item>
     <shape android:shape="oval">
         <solid android:color="@color/color1" />
         <stroke android:width="2dp" android:color="@android:color/white" />
     </shape>
</item>

尝试使用FloatingActionButton的android:backgroundapp:backgroundTint属性来设置背景,但两者都无效。请注意,app:backgroundTint似乎只接受颜色而不是可绘制对象。

有人知道任何解决方法吗?

1个回答

0

你尝试过使用android:src属性吗? 试试这个

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/your_drawable"
    andriod:scaleType="center"  /> <!-- You need to scale your src. ->

我希望它能够正常工作。

编辑

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/your_icon" /> <!-- include your icon here -->
    <item>
        <shape android:shape="oval"> <!-- or rectangle -->

            <stroke
                android:width="2dp"
                android:color="@android:color/white" />
        </shape>
    </item>
</layer-list>

您可以在drawable形状xml中添加您的图标。并为您的图标添加边框并将其应用于FAB

我在我的形状文件中添加了一个hdpi图标,这是我得到的结果。

根据Google设计规范,实际的可绘制大小应为24dp

enter image description here


4
不,那只是将可绘制对象设置在浮动操作按钮的中心。为此我已经有一个图标。我正在寻找浮动操作按钮本身的解决方案。 - Ali
我应该将这个drawable用于哪个属性?(src、background、backgroundTint) - Ali
你自己尝试过吗?还是只是猜测这应该是一个解决方案?如果是,请在一个简单的示例中分享您的源代码,以证实您的建议。 - Ali
就像我告诉你的那样,android:src 只是将图标居中显示。我猜你没有完全理解我的要求。 - Ali
你真的让我实现了fab。不管怎样,我编辑了我的答案。你需要缩放fab。scaleType 应该是居中的。我尝试了 hdpi 图标。尝试调整图标大小。然后再告诉我,它是否将图标居中? - Noman Rafique

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接