三角形 - 它是如何工作的?

时间:2014-09-22 10:56:53

标签: android android-layout android-resources android-shape

我在资源文件中找到了如何在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>

有人可以解释如何更改三角形状来做这样的箭头:

enter image description here

1 个答案:

答案 0 :(得分: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º后的形状:

enter image description here

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

enter image description here

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