標籤:
1、是製作9-patch的圖片,這樣能夠匹配文字內容的長短。
2、是指定按鈕樣式背景,即定製drawable的xml檔案,這樣做的好處不用圖片做背景,節省空間的。
定製透明樣式的按鈕。直接看代碼:
drawable/buttonstyle.xml:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true" android:state_pressed="true"> <shape android:shape="rectangle"> <corners android:radius="8dp"/> <solid android:color="#d35400"></solid> <size android:height="32dp" android:width="72dp"></size> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp"> </padding> </shape> </item> <item android:state_enabled="true" android:state_pressed="false"> <shape android:shape="rectangle"> <corners android:radius="8dp"/> <size android:height="32dp" android:width="72dp"></size> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp"></padding> <solid android:color="#88f39c12"></solid> </shape> </item></selector>
看到有2個item結構,第一個是按鈕按下狀態樣式,第二個是普通狀態下按鈕的狀態,item結構中包含shape標籤,android常用shape來改變控制項的一些樣式。
shape中常用屬性:
solid:實心,就是填充的意思 android:color指定填充的顏色 gradient:漸層 android:startColor和android:endColor分別為起始和結束顏色,ndroid:angle是漸層角度,必須為45的整數倍。另外漸層預設的模式為android:type="linear",即線性漸層,可以指定漸層為放射狀漸層,android:type="radial",放射狀漸層需要指定半徑android:gradientRadius="50"。 stroke:描邊 android:width="2dp" 描邊的寬度,android:color 描邊的顏色。 我們還可以把描邊弄成虛線的形式,設定方式為: android:dashWidth="5dp" android:dashGap="3dp" 其中android:dashWidth表示‘-‘這樣一個橫線的寬度,android:dashGap表示之間隔開的距離。 corners:圓角 android:radius為角的弧度,值越大角越圓。 size:設定大小 padding:設定內部間距
在進行solid中設定顏色的時候,顏色的格式為#+16進位透明度+16進位顏色數值,如:33FFFFFF,33為alpha值,用來設定透明度,數值越小,越透明。後六位F為用16進位表示的顏色值。所以設定透明度的簡單方式就是在設定顏色的時候設定它的前2位。
最後效果如:
Android 透明Button