LayerList上的可绘制颜色错误

时间:2018-07-08 06:24:42

标签: android

我只想在我的ImageButton

中添加背景

这是我在做什么。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <stroke
                android:width="1dp"
                android:color="@color/colorDivider" />
            <solid android:color="@color/colorButtonBlue"/>
        </shape>
    </item>
    <item
        android:top="@dimen/circle_padding"
        android:left="@dimen/circle_padding"
        android:right="@dimen/circle_padding"
        android:bottom="@dimen/circle_padding"
        android:drawable="@drawable/ic_mic">

    </item>
</layer-list>

它在图像周围添加了蓝色背景和边框,但是我的问题是ic_mic具有从imageAssets生成的白色图标,但是它添加了蓝色背景,在{{1 }},如图所示。 我想要纯白色ic_mic。您能告诉我为什么它会添加蓝色阴影吗?如何删除它

icon with background color

更新ic_mic

它的格式为ic_mic。检查下面的图片 enter image description here

更新:我在使用Switch时遇到相同的问题

如果将任何背景设置为png,也会在switch上创建阴影

switch

2 个答案:

答案 0 :(得分:1)

enter image description here

按如下所示使用此Xml代码

 <ImageButton
    android:id="@+id/badge_notificatidon_2"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:background="@drawable/item_count" 
    android:src="@drawable/ic_mic"/>//use src your icon 
    vector drawable or png image

在可绘制资源中像这样

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners android:radius="8dp" />
<solid android:color="#01b9f5" />
<stroke
    android:width="3dip"
    android:color="#c6c6c6" />
<padding
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp" />
</shape>

答案 1 :(得分:0)

使用矢量资产而不是图像资产it worked for me下载ic_mic