android中的三角形状

时间:2014-07-16 11:58:11

标签: java android user-interface design-patterns shapes

我已经提到了很多关于绘制三角形形状的StackOverflow问题。

但是,我在这里有一个特例。以下是我想要创建的组合形状。 矩形,我可以管理。但是,我正面临着三角形的问题。我对这些角度感到困惑。

提到了三角形的角度。

我已经有以下代码:

<?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="0"
            android:pivotX="270%"
            android:pivotY="180%" >

            <shape
                android:shape="rectangle"  >
                <stroke android:color="@android:color/transparent" android:width="10dp"/>
                <solid
                    android:color="#000000"  />
            </shape>
        </rotate>
    </item>
</layer-list>

enter image description here

我想知道满足我需要的以下值:

android:fromDegrees=?
android:toDegrees=?
android:pivotX=?
android:pivotY=?

请帮帮我。

2 个答案:

答案 0 :(得分:0)

由于我猜测你卡住的点与android无关(意思是你知道如何创建随机三角形),你需要帮助才能找到3分。 假设您知道50度(x1,y1)中的点,

  1. 90中的点有坐标(x1+d1,y1),其中d1是连接这2点的边缘的距离。
  2. 底部的点有坐标(x1+d1,y2),其中y2 = acos(50)*d1。 当然atan2应该使用度数来工作,或者你必须将它转换为rads。
  3. 这是一般的想法。如果碰巧知道另一点你以同样的方式行事。 希望有所帮助。

答案 1 :(得分:0)

我可以使用XML绘制三角形,如何根据您的要求使用我不知道

<强> triangle .xml          

<item>
    <rotate
        android:fromDegrees="45"
        android:pivotX="-40%"
        android:pivotY="87%"
        android:toDegrees="45" >
        <shape android:shape="rectangle" >
            <stroke
                android:width="10dp"
                android:color="#00000000" />

            <solid android:color="#00ACED" />  //your color
        </shape>
    </rotate>
</item>

triangle