Android:绘制自定义形状
我想画一个像这样的自定义形状- 一个选择是在photoshop中单独制作每个形状,然后在编码中使用它,但我想知道,是否可以使用xml绘制这个形状Android:绘制自定义形状,android,android-shapedrawable,Android,Android Shapedrawable,我想画一个像这样的自定义形状- 一个选择是在photoshop中单独制作每个形状,然后在编码中使用它,但我想知道,是否可以使用xml绘制这个形状 我应该怎样画这样的形状?不要期望完整的代码,只要给我一些想法或给我指出正确的方向。尝试以下形状可绘制xml: <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
我应该怎样画这样的形状?不要期望完整的代码,只要给我一些想法或给我指出正确的方向。尝试以下形状可绘制xml:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Colored rectangle-->
<item>
<shape android:shape="rectangle">
<size
android:width="100dp"
android:height="40dp" />
<solid android:color="#FAD55C" />
</shape>
</item>
<!-- This rectangle for the left side -->
<!-- Its color should be the same as layout's -->
<item
android:right="90dp"
android:left="-30dp">
<rotate
android:fromDegrees="45">
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
</shape>
</rotate>
</item>
<!-- These rectangles for the right side -->
<!-- Their color should be the same as layout's -->
<item
android:top="-40dp"
android:bottom="63dp"
android:right="-25dp">
<rotate
android:fromDegrees="45">
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
</shape>
</rotate>
</item>
<item
android:top="63dp"
android:bottom="-40dp"
android:right="-25dp">
<rotate
android:fromDegrees="-45">
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
</shape>
</rotate>
</item>
</layer-list>
这就是它在白色背景上的外观:
这里有更多的信息
编辑:
下面是如何完成的一个小说明
size
标记的top、bottom、right和left
属性意味着形状的边界到容器的top、bottom、right和left
边缘的距离(黄色矩形)10dp
间隙,我们将顶部、底部、右侧和左侧
属性设置为新(内部)矩形的10dp
size
tag属性的值可以为负值,这意味着形状的对应边显示在容器外部。在上一个示例中,如果将left
属性设置为100 dp或更高,则内部矩形不会显示,因为它将位于黄色矩形的右边框后面