我有一个图层列表drawable通过应用填充和每个图层描边来实现类似于下图的效果。
drawable的代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#99ff0000"
android:width="0.5dp" />
<corners
android:radius="2dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#88ff0000"
android:width="0.5dp" />
<corners
android:radius="1dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#77ff0000"
android:width="0.5dp"/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#66ff0000"
android:width="0.5dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#55ff0000"
android:width="0.5dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#44ff0000"
android:width="0.5dp"/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#33ff0000"
android:width="0.5dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#22ff0000"
android:width="0.5dp" />
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#11ff0000"
android:width="0.5dp"/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom="0.5dp"
android:left="0.5dp"
android:right="0.5dp"
android:top="0.5dp" />
<stroke android:color="#00ff0000"
android:width="0.5dp"/>
</shape>
</item>
</layer-list>
但用于创建效果的填充也会影响ImageView的主要绘图,使图像比应有的小。我尝试使用LayerDrawable,但填充仍然影响了所有图层,这些图层位于drawable之上。
将android:cropToPadding设置为true / false没有做任何事情。我有android:scaleType设置为centerCrop。
如何防止背景drawable的填充影响主图像drawable?
这是一个直观的例子: 如果我写这个:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:src="@drawable/rectangle_green"/>
我得到的结果如下。我想禁用应用于绿色矩形的填充。
答案 0 :(得分:0)
尝试使用imageview
。
我认为你这样做..
android:background="@drawable/padding" // ur drawable xml code
android:src="@drawable/ic_launcher" // ur image
喜欢这个
android:background="@drawable/ic_launcher" // ur image
android:src="@drawable/padding" // ur drawable xml code
编辑
试试这个
setImageResource(R.drawable.padding); // ur drawable xml code
和
setBackgroundDrawable // ur image