Android – 用xml形成箭头形状

我想为我这样的形状制作一个按钮

有没有办法用xml这样做?
像设置一些点,在我的情况下我有5点

最佳答案
您需要的是在项目的drawable-xxx文件夹中创建一个形状xml文件,然后使用此形状作为按钮的背景.

以下是称为“arrow_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">
        <size 
            android:width="100dp"
            android:height="40dp" />
        <solid android:color="#5EB888" />
        <corners android:radius="0dp"/>
    </shape>
</item>

<item
    android:top="-40dp"
    android:bottom="65dp"
    android:right="-30dp">
    <rotate
        android:fromDegrees="45">
        <shape android:shape="rectangle">
            <solid android:color="#ffffff" />
        </shape>
    </rotate>
</item>

<item
    android:top="65dp"
    android:bottom="-40dp"
    android:right="-30dp">
    <rotate
        android:fromDegrees="-45">
        <shape android:shape="rectangle">
            <solid android:color="#ffffff" />
        </shape>
    </rotate>
</item>

</layer-list>

然后使用它作为按钮的背景,例如

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/arrow_shape"/>

这是截图:

有关层列表的更多信息,您可以找到here.

编辑:

记住,我使用某些值的形状的宽度和高度.如果您更改那些您可能需要更改顶部,底部和右侧属性的值.因此,在这种情况下,请考虑在项目的值目录中使用不同的值.

转载注明原文:Android – 用xml形成箭头形状 - 代码日志