裡我舉例如何使用selector,layer-list完成button背景的層疊組合,從而有不同情形下不同效果
button_ctrl.xml中選擇器
xml version="1.0" encoding="utf-8"?>
<
selector
xmlns:android
="">
<
item
android:state_pressed
="true"
android:drawable
="@drawable/button_highlight_ctrl"
/>
<
item
android:drawable
="@drawable/button_normal_ctrl"
/>
selector
>
button_highlight_ctrl.xml中兩層圖
xml version="1.0" encoding="utf-8"?>
<
layer-list
xmlns:android
="">
<
item
android:drawable
="@drawable/button_highlight_back"
android:top
="2dip"
android:right
="2dip"
android:bottom
="2dip"
android:left
="2dip"
/>
<
item
android:drawable
="@drawable/button_highlight_fore"
android:top
="2dip"
android:right
="2dip"
android:bottom
="2dip"
android:left
="2dip"
/>
layer-list
>
button_highlight_back.xml中完成背景顏色的漸變
xml version="1.0" encoding="utf-8"?>
<
shape
xmlns:android
=""android:shape
="rectangle"
>
<
corners
android:radius
="4dip"
/>
<
gradient
android:type
="linear"
android:angle
="270"
android:startcolor
="@color/highlight_button_start_color"
android:centercolor
="@color/highlight_button_middle_color"
android:endcolor
="@color/highlight_button_end_color"
/>
shape
>
至此,已完成高亮button的製作,接下來是普通button
button_normal_ctrl.xml中兩層圖
xml version="1.0" encoding="utf-8"?>
<
layer-list
xmlns:android
="">
<
item
android:drawable
="@drawable/button_normal_back"
android:top
="2dip"
android:right
="2dip"
android:bottom
="2dip"
android:left
="2dip"
/>
<
item
android:drawable
="@drawable/button_normal_fore"
android:top
="2dip"
android:right
="2dip"
android:bottom
="1dip"
android:left
="2dip"
/>
layer-list
>
button_normal_back.xml和button_normal_fore處理類似高亮,不貼**了
下面是執行效果截圖:
普通當然前面不一定寫字元,可以是一張。總之變化可以多樣,核心思想是一致的。
android button 基本原理
2009 12 01 15 38 02 分類 android相關 字型大小 訂閱 在android中button是非常常用的乙個view控制項,原本以為button實現的 肯定很多,但是看了原來著實吃了一驚.button的原始碼幾乎僅僅對繼承的textview類做了乙個小小的修改,僅僅是加了乙個st...
Android Button實現功能的三種方法
android button實現功能的三種方法 1.一次性 使用的button,一般採用匿名內部類 button button button findviewbyid r.id.button button.setonclicklistener new onclicklistener 該方法適用於bu...
Androidbutton事件的五中寫法總結
button事件的五中寫法 1 匿名內部類 2 類實現view.onclicklistener介面 3 建立例項化介面物件 4 使用內部類 5 自己定義方法,配置android onclick屬性 import android.media.jetplayer.onjeteventlistener i...