背景xml drawable不会覆盖整个FloatingActionButton

时间:2018-02-14 22:16:21

标签: android android-layout android-drawable

我创建了一个带有xml的红色圆圈,red_circle.xml

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

我使用上面的红色圆圈作为FloatingActionButton的背景图片:

<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:src="@drawable/red_circle"
        app:borderWidth="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

结果如下:

enter image description here

如何让红色圆圈覆盖整个FloatingActionButton?

2 个答案:

答案 0 :(得分:0)

将您的强调颜色更改为红色,因为FloatingActionButton主题为AppTheme

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
 </style>

或者您也可以通过编程方式更改颜色

fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(MainActivity.this,R.color.colorRed)));

答案 1 :(得分:0)

无需在java中创建可绘制或颜色列表。 在您的布局xml文件中,FAB的setbackground由app:backgroundTint="@color/yourColourRed" 如果真有帮助你,请回复我。