使用彩色背景和居中图标创建drawable

时间:2016-04-06 06:30:01

标签: android android-drawable

我试图用中心图标创建一个颜色绘制的drawable。我尝试创建图层列表,但它会缩放图标以匹配可绘制尺寸:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <solid android:color="@color/colorImageHolder"/>
        </shape>
    </item>

    <item android:drawable="@drawable/no_photo" android:gravity="center">
    </item>
</layer-list>

这是一个真实的设备图片:

enter image description here

我希望它看起来像这样:

enter image description here

有没有办法禁用图标缩放?

更新:我的ImageViewscaleType="centerCrop",我认为这是问题的根源:(我试图将no_photo drawable作为背景,但它会再次缩放。

2 个答案:

答案 0 :(得分:3)

在您的第二个<item>标记内添加以下<bitmap>标记,如下所示:

<item>
    <bitmap android:src="@drawable/no_photo" android:gravity="center" />
</item>

答案 1 :(得分:1)

试试这个

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <solid android:color="@color/colorImageHolder"/>
        </shape>
    </item>

    <item android:drawable="@drawable/no_photo"
          android:bottom="20dp"
          android:left="20dp"
          android:right="20dp"
          android:top="20dp"
    >
    </item>
</layer-list>

注意:此解决方案仅适用于方形或椭圆形视图,而不适用于矩形