drawable里的xml文件做繪圖資源非常方便,不需要適配屏幕dpi恩溅,幾個比較簡單的用法:
1.sharp
sharp是比較常用的drawable隔箍,可以繪制line、oval脚乡、rectangle和 ring蜒滩。以sharp為例繪制一個紅色橢圓和藍色圓環(huán)。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@android:color/holo_red_light"/>
</shape>
預覽下:
接著畫一個外環(huán)寬度為8dp的圓環(huán)
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="8dp"
android:color="@android:color/holo_blue_light"/>
</shape>
2.layer-list
故名思議奶稠,layer-list就是圖層俯艰,把幾個可繪制的drawable排列起來,layer-list最下邊的item會放置在最上層锌订,我們把之前的紅色圓形和藍色環(huán)形重疊起來竹握,繪制一個帶藍邊的紅圓。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="oval">
<solid
android:color="@android:color/holo_red_light"/>
</shape>
</item>
<item>
<shape
android:shape="oval">
<stroke
android:width="8dp"
android:color="@android:color/holo_blue_light"/>
</shape>
</item>
</layer-list>
預覽:
3.state-list
state-list是根據對象的狀態(tài)分別繪制不同的圖形辆飘,比如的是繪制一個圓形按鈕啦辐,平時是紅色,按下時是藍色蜈项。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true">
<shape android:shape="oval">
<solid android:color="@android:color/holo_blue_light"/>
</shape>
</item>
<item>
<shape android:shape="oval">
<solid android:color="@android:color/holo_red_light"/>
</shape>
</item>
</selector>
需要注意的是芹关,按下狀態(tài)的item要寫在通常狀態(tài)之前。把這個xml文件設置一個button的background紧卒,就可以使用了侥衬。
推薦閱讀:
https://developer.android.google.cn/guide/topics/resources/drawable-resource