kco*_*ock 11 android drawable xml-drawable layer-list
我正在尝试简化一些图形,要求每个密度需要9个补丁,只需使用XML drawable.这是一个相当简单的图形:

2段:
设置为背景图像时给出此结果:

看起来这应该是相当简单的重新创建为XML drawable,并避免创建5个不同的9补丁图形.但是,我已经研究了图层列表drawables,插图drawables,clip drawables - 它们似乎都要求你事先知道视图的大小(例如,为了保持它的2dp,你需要设置insetRight为视图的宽度 - 2dp).我也尝试使用shape标签的size标签,但这并不是一个固定的大小,只是固定的比例(因此对于较高的视图,它将按比例缩放).
我是否忽略了一些简单的东西,或者这是我必须在布局后以编程方式检查的东西?
这不可能。这是我找到的最好的解决方案。只有 xml,没有编码,没有位图,没有附加视图)
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#ff0000" />
</shape>
</item>
<item
android:top="4dp">
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#00ff00" />
</shape>
</item>
<item
android:left="10dp">
<shape
android:shape="rectangle">
<solid
android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

通过代码,您可以创建具有所需行为的自己的绘制类型。XML可绘制非常有限。恕我直言,我的建议最接近您的要求。
| 归档时间: |
|
| 查看次数: |
4938 次 |
| 最近记录: |