2016-04-06 161 views
2

我正试图创建一个带有居中图标的颜色绘制的绘图。我试图创建图层列表,但它缩放图标相匹配绘制尺寸:创建带有彩色背景和居中图标的绘图

<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

有什么办法可以禁用图标缩放吗?

UPDATE:我ImageViewscaleType="centerCrop",我认为这是问题的根:(我试图把no_photo绘制作为背景,但它再次扩展

+0

你上传了所有类型的图像(hdpi ldpi mdpi xdpi? – Jois

+0

是的。图标包含所有需要的尺寸 –

+2

使用''标签与'android:gravity'内的第二个'' – pskink

回答

3

在您的第二个<item>标记中添加以下<bitmap>标记以便它读取:

<item> 
    <bitmap android:src="@drawable/no_photo" android:gravity="center" /> 
</item> 
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> 

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

+0

这没有帮助。图标变得细腻,但它仍然缩放.... –

+0

@AlexandrShutko我建议,你应该使用pskink的解决方案。使用我的解决方案,您只能将其应用于方形视图或椭圆形视图 –

+1

@AlexandrShutko使用标记带有android:重力内部的第二个 pskink