The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          首先寫一個定義Button樣式的XML文件:
          新建Android XML文件,類型選Drawable,根結(jié)點選selector,文件名就buton_style吧。
          程序自動給我們剛剛建的文件里加了selector結(jié)點,我們只需要在selector結(jié)點里寫上三種狀態(tài)時顯示的背景圖片(按下、獲取焦點,正常)。
          代碼如下:

          1
          2
          3
          4
          5
          6
          
          <?xml version="1.0" encoding="utf-8"?>
          <selector xmlns:android="http://schemas.android.com/apk/res/android">
          	<item android:state_pressed="true" android:drawable="@drawable/play_press" />
          	<item android:state_focused="true" android:drawable="@drawable/play_press" />
          	<item android:drawable="@drawable/play" />
          </selector>

          我這里獲取焦點跟點擊時顯示的是同一張圖片,必須嚴格照上面的順序?qū)懀豢傻埂?br />接下來只要在布局時寫B(tài)utton控件時應(yīng)用到Button的Background屬性即可。

          1
          2
          3
          4
          
          <Button android:id="@+id/button1"
          	android:layout_width="wrap_content" android:layout_height="wrap_content"
          	android:background="@drawable/button_style"
          ></Button>

          最終效果圖:

          點擊時會變。
          源代碼下載:
          Button_style (313)
          再加上一種自定義樣式方法,上面的是用圖片,其實我們可以直接通過定義xml文件來實現(xiàn)不同的樣式:
          在上面的源代碼基礎(chǔ)上,只需要修改button_style文件,同樣三種狀態(tài)分開定義:

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          
          <?xml version="1.0" encoding="utf-8"?>
          <selector xmlns:android="http://schemas.android.com/apk/res/android">
          	<item android:state_pressed="true">
          		<shape>
          			<gradient android:startColor="#0d76e1" android:endColor="#0d76e1"
          				android:angle="270" />
          			<stroke android:width="1dip" android:color="#f403c9" />
          			<corners android:radius="2dp" />
          			<padding android:left="10dp" android:top="10dp"
          				android:right="10dp" android:bottom="10dp" />
          		</shape>
          	</item>
           
          	<item android:state_focused="true">
          		<shape>
          			<gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7"
          				android:angle="270" />
          			<stroke android:width="1dip" android:color="#f403c9" />
          			<corners android:radius="2dp" />
          			<padding android:left="10dp" android:top="10dp"
          				android:right="10dp" android:bottom="10dp" />
          		</shape>
          	</item>
           
          	<item>
          		<shape>
          			<gradient android:startColor="#000000" android:endColor="#ffffff"
          				android:angle="180" />
          			<stroke android:width="1dip" android:color="#f403c9" />
          			<corners android:radius="5dip" />
          			<padding android:left="10dp" android:top="10dp"
          				android:right="10dp" android:bottom="10dp" />
          		</shape>
          	</item>
          </selector>

          gradient 主體漸變 startColor開始顏色,endColor結(jié)束顏色 ,angle開始漸變的角度(值只能為90的倍數(shù),0時為左到右漸變,90時為下到上漸變,依次逆時針類推)
          stroke 邊框 width 邊框?qū)挾龋琧olor 邊框顏色
          corners 圓角 radius 半徑,0為直角
          padding text值的相對位置

          posted on 2012-02-27 18:04 Eric_jiang 閱讀(22269) 評論(0)  編輯  收藏 所屬分類: Android
          主站蜘蛛池模板: 杂多县| 土默特左旗| 泊头市| 靖宇县| 大关县| 黎川县| 遂溪县| 外汇| 贵阳市| 黑龙江省| 剑川县| 布尔津县| 新干县| 福州市| 上林县| 千阳县| 贡山| 新安县| 商城县| 新野县| 蒙阴县| 利辛县| 方山县| 英超| 禹州市| 龙游县| 时尚| 新津县| 松江区| 永靖县| 宜黄县| 双柏县| 门源| 阳信县| 双桥区| 米泉市| 鸡东县| 阳谷县| 菏泽市| 阳信县| 尤溪县|