形状图层列表组合
Shape layer-list composition
我的目标是制作一个具有以下结果的可绘制对象(形状):
到目前为止我尝试了什么:
triangle.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="87%"
android:pivotY="140%"
>
<shape
android:shape="rectangle">
<size
android:height="24dp"
android:width="24dp"
/>
<solid
android:color="@color/green" />
<corners android:radius="1dp" />
</shape>
</rotate>
</item>
</layer-list>
result_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/triangle" />
<item
android:left="24dp"
>
<shape
android:shape="rectangle">
<size
android:height="24dp"
android:width="40dp"
/>
<solid
android:color="@color/c_white" />
<corners android:radius="1dp" />
</shape>
</item>
</layer-list>
结果我得到的矩形没有与三角形对齐,三角形现在是一个旋转了一些的矩形。
如何使用形状和图层列表将此图像表示为可绘制的?
您可以尝试使用矢量来实现您想要的效果:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="150dp"
android:height="50dp"
android:viewportHeight="50"
android:viewportWidth="150">
<path
android:fillColor="#ff008800"
android:pathData="M0,25 50,50 50,0z" />
<path
android:fillColor="#ffbb0000"
android:pathData="M50,0 50,50 150,50 150,0z" />
</vector>
这是使用它作为 TextView 背景的结果:
我的目标是制作一个具有以下结果的可绘制对象(形状):
到目前为止我尝试了什么:
triangle.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="87%"
android:pivotY="140%"
>
<shape
android:shape="rectangle">
<size
android:height="24dp"
android:width="24dp"
/>
<solid
android:color="@color/green" />
<corners android:radius="1dp" />
</shape>
</rotate>
</item>
</layer-list>
result_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/triangle" />
<item
android:left="24dp"
>
<shape
android:shape="rectangle">
<size
android:height="24dp"
android:width="40dp"
/>
<solid
android:color="@color/c_white" />
<corners android:radius="1dp" />
</shape>
</item>
</layer-list>
结果我得到的矩形没有与三角形对齐,三角形现在是一个旋转了一些的矩形。
如何使用形状和图层列表将此图像表示为可绘制的?
您可以尝试使用矢量来实现您想要的效果:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="150dp"
android:height="50dp"
android:viewportHeight="50"
android:viewportWidth="150">
<path
android:fillColor="#ff008800"
android:pathData="M0,25 50,50 50,0z" />
<path
android:fillColor="#ffbb0000"
android:pathData="M50,0 50,50 150,50 150,0z" />
</vector>
这是使用它作为 TextView 背景的结果: