我正在尝试创建一个复杂的 xml drawable 来表示一个列表框,并将其设置为 TextView 的背景。
接下来是我想要获得的内容以及我获得的内容的屏幕截图。
如您所见,我想将箭头放在右侧的渐变灰色框中。
查看 android 文档,似乎 xml 形状支持 size 标签,如此处所述http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape,但我无法让它工作!
这是我的 XML
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#999999" />
<corners android:radius="5dp" />
<solid android:color="#ffffff" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#999999" />
<corners android:topRightRadius="5dp" android:bottomRightRadius="5dp" />
<gradient android:startColor="#606060" android:endColor="#303030" android:angle="270" />
<padding android:top="7dp" android:bottom="7dp" android:right="7dp" />
</shape>
</item>
<item>
<bitmap android:src="@drawable/listbox_arrow_icon" android:gravity="right|fill_vertical" android:tileMode="disabled" />
</item>
</layer-list>
我尝试在形状标签中指定 android:width ,如此处指定的http://developer.android.com/reference/android/graphics/drawable/ShapeDrawable.html#attr_android:width,但它也不起作用。
我不想使用代码来做,但如果它是不可避免的,最后,我想我会构建一个组件来代替 TextView 用于这些东西。
谢谢你的帮助!
@EDIT 抱歉,在复制和粘贴期间,我删除了第一个形状的实心标签!固定的!