[英]How can I make a triangle drawable on the top left of my view?
我創建了這個drawable:
<?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="10"
android:pivotX="100%"
android:pivotY="-0%" >
<shape
android:shape="rectangle" >
<solid
android:color="@color/color_primary" />
</shape>
</rotate>
</item>
</layer-list>
在預覽上它看起來像這樣:
我把它放到這個View
:
<View
android:id="@+id/my_view"
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/triangle"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
此View
在預覽(和手機)上看起來像這樣:
為什么View
不會像在三角形預覽中那樣顯示角落上的三角形? 另外,我應該提一下,我希望它填充View
廣場的一半,基本上是從右上角到左下角。
謝謝。
編輯:我有一個建議使用:
<?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="-135"
android:pivotX="90%"
android:pivotY="-45%" >
<shape
android:shape="rectangle" >
<solid
android:color="@color/color_primary" />
</shape>
</rotate>
</item>
</layer-list>
我會通過使用<vector>
drawable而不是<layer-list>
來解決這個問題。
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/color_primary"
android:pathData="M0 24v-24h24z"/>
</vector>
將XML更改為以下內容,它將按您的意願工作。
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="-135"
android:pivotX="90%"
android:pivotY="-45%" >
<shape
android:shape="rectangle" >
<solid
android:color="@color/color_primary" />
</shape>
</rotate>
</item>
</layer-list>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.