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>

          我這里獲取焦點跟點擊時顯示的是同一張圖片,必須嚴(yán)格照上面的順序?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
          主站蜘蛛池模板: 大兴区| 阜康市| 昭苏县| 饶河县| 行唐县| 大余县| 通河县| 安岳县| 任丘市| 武定县| 裕民县| 繁峙县| 兖州市| 安岳县| 罗定市| 新余市| 临颍县| 博罗县| 永泰县| 准格尔旗| 手游| 石柱| 洱源县| 河南省| 甘孜| 平顶山市| 安平县| 咸宁市| 铁岭市| 普洱| 太和县| 麻阳| 南京市| 自贡市| 广灵县| 交口县| 慈溪市| 平阳县| 龙南县| 顺昌县| 凤台县|