Android - rotate cuts off corners of shape

2019-02-21 13:23发布

问题:

I wish to make a diamond as a resource file so I am rotating a square in order to do so. The problem is that the corners seem to be getting cut off, making a hexagon instead. Also as a side note, I'd like to stretch it vertically if that's possible.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <rotate
        android:fromDegrees="45"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="45"
        >
        <shape android:shape="rectangle">
            <size
                android:height="40dp"
                android:width="40dp" />
            <solid
                android:color="@color/level_1_color" />
        </shape>
    </rotate>
</item>

回答1:

Heres how:

**<item android:left="5dp" android:right="5dp" android:top="5dp" android:bottom="5dp">**
    <rotate
        android:fromDegrees="45"
        android:toDegrees="45" >
        <shape
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">

            <solid
                android:color="@color/sym_orange_bdfm"/>

            <size
                android:width="23dp"
                android:height="23dp"/>
        </shape>
    </rotate>
</item>

Adjust Left/Right/Top/Bottom as needed.