有没有办法用 drawable 和 stroke 创建 XML drawable ?
通常我们使用带有笔画的形状,如下代码:
<item android:state_pressed="true">
<shape>
<gradient
android:angle="270.0"
android:endColor="@color/rounded_container_bg"
android:startColor="@color/rounded_container_bg" />
<corners android:radius="11.0dip" />
</shape>
</item>
<item>
<shape>
<stroke
android:width="1.0px"
android:color="@color/rounded_container_border" />
我认为在这段代码中不可能使用drawable但是有没有其他方法可以用它来创建一个被笔画包围的图像?
我需要这种方法来创建按钮,我想使用带有描边的背景图像(PNG)。
由于
答案 0 :(得分:1)
使用LayerDrawable(在xml中称为Layer-List)
LayerDrawable programmatically
您可以将xml中的形状与在代码和位图中绘制的drawable混合,并将其用作单个Drawable。
答案 1 :(得分:0)
您可以使用ImageButton代替普通按钮
<ImageButton
android:background="your_drawable_shape"
android:src="your_image"
/>
或者您可以使用LayerDrawable
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stroke_drawable"/>
<item android:drawable="@drawable/your_image" />
</layer-list>