android button背景隨心搭配

2021-09-06 03:26:25 字數 2575 閱讀 4451

裡我舉例如何使用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...