vxh.viet
8/12/2016 - 9:46 AM

How to draw upside down triangle with xml.

How to draw upside down triangle with xml.

Source: StackOverflow

Answer: Simple way to create an upside down triangle with xml.

Here it is XML for triangle and rectangle. save it inside drawable folder.

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

rectangle.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item> 
    <shape android:shape="rectangle">
      <solid android:color="#B2E3FA" /> 
    </shape>
  </item>
</layer-list>

and then rotate the triangle in the layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tutorial_message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/txt_tutorial_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/rectangle"/>

    <ImageView
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:layout_below="@+id/txt_tutorial_message"
        android:layout_marginStart="13dp"
        android:src="@drawable/triangle"
        android:rotation="180"/>
</RelativeLayout>