自定义xml背景
引言:當我們在做項目的時候,背景使用的地方比較多,很多情況下我們會讓UI進行切圖或者制作.9.png,但是有時候并不能達到很好的效果,加上溝通成本什么的,效率比較低。那么接下來就來看下如何通過xml來制作自己的背靜圖片。
一:首先制作一張簡單的背景(帶有圓角的紅色背景圖)
1:在drawable中右鍵----new-----Drawable resource file.
2:? 給自己的xml文件起一個名字(姑且叫做:shape)。
3:更改selector 為 shape
二:點擊背景狀態變化
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><shape><solid android:color="@color/gray"></solid><corners android:radius="30dp"></corners><stroke android:color="@color/red" android:width="3dp"></stroke><padding android:left="20dp"android:top="30dp"android:right="30dp"android:bottom="40dp"></padding><gradient android:centerX="50%"android:centerY="50%"android:startColor="@color/gray"android:centerColor="@color/red"android:endColor="@color/white"></gradient></shape></item><item android:state_pressed="false"><shape><solid android:color="@color/white"></solid><corners android:radius="30dp"></corners><stroke android:color="@color/red" android:width="3dp"></stroke></shape></item><item><shape><solid android:color="@color/colorAccent"></solid></shape></item> </selector>1、2步和一中的相投3:因為有多個狀態,就使用selector
4:在里面添加item,每一個item都是一個狀態,最后一個是默認狀態。
5:shape中的內容介紹下吧,當然了item也可以直接是圖片。
???? solid:內部填充色
???? corners:圓角的角度,值越大,角度越大
???? stroke:邊框
???? padding:這個就不用說了
???? gradient:是漸變色。有開始顏色、結束顏色、centerX、centerY
三:復選框的背景設置:checkbox_bg
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/checkbox_check" android:state_checked="true" /><item android:drawable="@drawable/checkbox_uncheck" android:state_checked="false" /> </selector>
既然我們把復選框的背景都寫出來了,就再費一點力氣,把復選框的自定義使用講一下吧,高手繞道,這個是自己平時遇到的。
<CheckBoxandroid:id="@+id/yourId"android:layout_width="15dp"android:layout_height="15dp"android:background="@drawable/checkbox_bg"android:button="@null"android:clickable="false"/>順便講一下吧,看到網上有人設置burron="@drawable/checkbox_bg",我也試過,沒有啥問題,但是在特殊機型上會有bug(checkbox有一圈看不到的margin,姑且說是margin,因為checkbox的大小是合適的,只不過實際大于checkbox)。后來自己測試折騰解決了這個問題------也就是background設置背景,button設置@null。
??????
??
????????
總結
- 上一篇: 实时时钟-plc时钟与边缘计算时钟
- 下一篇: 星空的朋友们