1

我在资源文件中找到了几个关于如何在 Android 中绘制三角形的答案。但我没有找到任何可以解释如何改变三角形旋转的方法。

我发现的例子:

<?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="-40%"
        android:pivotY="87%" >
        <shape
            android:shape="rectangle" >
            <stroke 
                android:color="@color/color_app_transparent" 
                android:width="10dp" />
            <solid
                android:color="@color/color_app_primary" />
        </shape>
    </rotate>
</item>
</layer-list>

有人可以解释我怎样才能改变三角形来做这样的箭头:

在此处输入图像描述

4

1 回答 1

1

我设法画出那个箭头,这里是代码:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/triangle_shape">
        <rotate
            android:fromDegrees="45"
            android:toDegrees="45"
            android:pivotX="0%"
            android:pivotY="140%" >
            <shape
                android:shape="rectangle" >
                <stroke 
                    android:color="@color/color_app_transparent" 
                    android:width="2dp" />
                <size android:width="50dp" android:height="50dp"/>
                <solid
                    android:color="@color/color_app_primary" />
            </shape>
        </rotate>
    </item>
</layer-list>

据我了解,我必须将正方形旋转 45º,然后我尝试调整 X 和 Y 点以设法隐藏大部分正方形并只显示一个边缘,这样我就制作了箭头。

旋转45º后的形状:

在此处输入图像描述

然后改变点X和Y后的最终结果:

在此处输入图像描述

我使用 ImageView 来显示宽度和高度为 wrap_content 的箭头。

于 2014-09-22T13:29:32.640 回答