1. 程式人生 > >Android開發技巧:點選Button改變其背景顏色

Android開發技巧:點選Button改變其背景顏色

UI設計中,按鈕一般都會有多個狀態,比如:聚焦、點選等,不同的狀態必須顯示不同的呈現形式(比如顏色、形狀的改變),這樣使用者才能感覺到按鈕被成功選中、點選了,否則使用者體驗就會非常差了。

本篇文章就簡單地描述一下Android開發中,如何動態改變Button狀態切換時的背景。

Android的UI設計中,預設情況下,系統會為Button的點選實現一個預設的背景切換。

例如下面這樣的一個Button:

1 2 3 <Button android:layout_width="wrap_content"
android:layout_height="wrap_content" />

使用者在點選Button的時候,會有一個藍色外框顯示出來,表明Button被點選了。如圖所示:

211817938.png

但是,如果想為Button新增自定義的圖片背景,如:

1 android:background="@drawable/upload"

那麼,當你點選Button的時候會發現,Button啥反應都沒有,在使用者點選的時候Button的背景沒有任何變化,使用者無法知道到底點選成功了沒有

,所以,這不是一個好的使用者體驗。

當然,這種情況可以考慮使用ImageButton,如:

1 2 3 4 <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/upload"/>

ImageButton會將src所指的圖片縮小放入Button的方框內中央顯示,Button點選前後的顯示效果如圖所示:

204544654.png

上面是採用系統預設的Button點選效果,那麼,如果期望自己定義Button的點選效果,該如何實現呢?下面,我將介紹兩種在Button被點選時改變背景的方式,一種是採用多張背景圖片切換的方式,另一種是採用shape來定義Button狀態切換的背景顯示。

1.  多張背景圖片切換

首先,為Button準備兩張背景圖片,一張是Button未點選時顯示的圖片,另一張是Button被點選時顯示的圖片,如圖所示:

204629539.png

然後,在工程的res/drawable目錄下建立一個 xml 檔案,這裡命名為:button_selector.xml

內容如下:

1 2 3 4 5 6 7 8 9 <?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/up_pressed"/> <

相關推薦

Android開發技巧Button改變背景顏色

UI設計中,按鈕一般都會有多個狀態,比如:聚焦、點選等,不同的狀態必須顯示不同的呈現形式(比如顏色、形狀的改變),這樣使用者才能感覺到按鈕被成功選中、點選了,否則使用者體驗就會非常差了。 本篇文章就簡單地描述一下Android開發中,如何動態改變Button

實現listview條目改變item背景顏色和字型顏色並保留

先上效果圖。 其實實現是很簡單的在item的佈局中設定背景顏色選擇器,當item被選中時就會改變背景顏色 字型顏色在listview的adapter這種進行設定,定義標記記錄當前被點選的item

Android開發歡迎頁跳過倒計時進入主頁

頁面效果: 沒點選跳過自然進入主頁,點選跳過之後立即進入主頁HelloWorld   實現步驟: 1、歡迎頁佈局activity_sp.xml放一張背景圖(圖片隨你便啦)再放一個盛放倒計時的TextView。 1 <?xml version="1.0" encoding=

Android開發技巧不同狀態的Button

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android開發中按鈕事件的監聽

在Android開發中用到是很正常的事情。那麼為按鈕點選事件新增監聽器是我們開發過程中遇到的常見問題。 1、直接在onCreate( )方法中新增 匿名內部類作為事件監聽器類 protected void onCreate(Bundle savedIn

android開發擴大CheckBox監聽範圍

android開發過程中,image很小的時候,點選範圍很小,很難點選到,使用者體驗差,在xml檔案新增android:text=” “,就是空格。 android:drawableRight="@drawable/...." android:text=

Android問題ListView的單個Item條目被選中時,改變背景顏色問題

1)在佈局Layout的ListView中:           設定listSelector屬性值 <ListView android:id="@+id/main_listview" and

android中如何去掉pulltorefreshlistviewitem時的背景顏色,與item外邊距設定

如圖所示,做專案中通過運用pulltorefreshlistview下拉重新整理元件實現item與邊有一定距離的效果圖,如下圖所示,item內容我已清除。 通過 com.handmark.p

input消除預設背景顏色

在谷歌瀏覽器會出現預設點選input框黃色背景,如何去除? //消除google瀏覽器黃色框 input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { box-shadow:0 0 0 60

jquery 動態li標籤切換背景顏色

廢話不多講老規矩先上圖 看效果:<script type="text/javascript" src="/jquery/jquery.js"></script> 改為你本地專案的js路徑<!DOCTYPE html><html>

Android開發實踐二實踐

res>layout中.xml檔案中的<Button>控制元件中新增android:id="@+id/button1"可在src>……>中.java檔案中通過btn1=(Button)this.findViewById(R.id.button1)

Android開發實踐八一個按鈕退出整個程式

# 參考資源 #https://blog.csdn.net/sinat_33921105/article/details/57096554main.java新增如下程式碼: public static

Android中在fragment A裡面button跳轉到fragment B實現方法

方法一:直接getActivity,使用activity的fragmenttransation的replace方法替換 假設 class OneFragment extends Fragment{ private Button btn; @Override p

[html]button後畫面被重新整理原因未設定type="button"

一、問題原因解析: 在form表單裡的button, type 屬性未設定的情況下,Internet Explorer 的預設型別是 "button",而其他瀏覽器中(包括 W3C 規範)的預設值是 "submit: <form action="form_action.asp" me

Android開發技巧QQ第三方登入(二)

接 android QQ第三方登入(一)  獲取登入使用者名稱資訊,這邊先抱怨一下,官方API有點坑 Constants原始碼類下就是找不到GRAPH_SIMPLE_USER_INFO這個屬性!無語! 根據官方提供返回的的JSONObject資訊解析:

Android開發技巧QQ第三方登入(一)

使用的是Android_SDK_V2.9.1,建議使用最新版; 官方下載:SDK下載  Android studio 中新增到 然後在點選build.gradle檔案新增 配置AndroidManifest 在應用的Andr

音樂網站開發實現按鈕切換頁面背景圖的功能

        最近這一星期在做一個簡單小型的音樂播放器網站,目前各種功能基本都已經實現,包括切換上一曲下一曲,播放與暫停,隨機播放單曲迴圈順序播放模式切換,一首播放完畢自動按模式切換至下一曲,載入單句歌詞及所有歌詞等功能。另外就是本篇部落格要介紹的功能了,點

Android短視訊開發中通過進行的命令操作所需原始碼合集

在短視訊操作中,“點選識別命令”的操作是非常常見的,幾乎一切命令都需要靠使用者點選來實現,因此,在Android短視訊開發中,雙擊點贊,點選評論、關注、分享,點選頭像進入主頁功能都是最常見的功能。 接下來,我將從程式碼的角度為大家展現這些功能的實現方式:   【雙擊點贊】通過此

android實現按鈕圓角背景、字型顏色改變

實現圓角按鈕,點選的時候背景和字型的顏色都改變,這裡的實現效果如下:原狀態背景為白色,字型為藍色,當點選的時候背景為藍色,字型為白色。介紹兩種實現方式。1、使用button。2、實現自定義TextView。 1.使用Button首先在drawable下建一個Button

小程式改變繫結的標籤樣式

這是一篇嘔心瀝血的小程式教程 從昨天下午到現在才弄明白的實現方法 如果你有更好的方法 請分享給我吧~ 需求是這樣的 哪個被選中就改變哪個的樣式  我放的明明是動態圖 但是它不動我也沒辦法 正常來說這個用jq來做是非常簡單的 但是小程式中沒辦法操作Dom 所以這個過