1. 程式人生 > >Android 按鈕點選切換背景,同時修改文字顏色

Android 按鈕點選切換背景,同時修改文字顏色

     其實原理很簡單,用到的是selector,用來設定android:background和android:textcolor屬性,selector可以用來設定預設時候、點選時候的背景圖片和文字顏色的屬性,過程如下:

      這兩個檔案如下:

1.當點選按鈕,改變文字的顏色:

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_focused="false" android:state_enabled="true" android:state_pressed="false"  
        android:color="#000000" />  
    <item android:state_enabled="false" android:color="#000000" />  
    <item android:state_pressed="true" android:color="#ffffff" />  
    <item android:state_focused="true"  android:color="#000000" />  
</selector> 
2.當點選按鈕,改變按鈕的背景:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.android.com/apk/res/android">

    <!-- 定義按鈕按下時的圖片 -->
    <item Android:drawable="@drawable/blue" Android:state_pressed="true"/>
    <!-- 定義按鈕預設的圖片 -->
    <item Android:drawable="@drawable/gray"/>

</selector>
    是不是很簡單,不用再用java程式碼來進行設定,只需要設定到你所需要的Textview或者button,如下使用方式:
            <TextView
                android:id="@+id/menu_logout"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                <span style="font-size:24px;color:#ff0000;"><strong>android:background="@drawable/btnselector"</strong></span>
                android:drawableLeft="@drawable/menu_logout"
                android:drawablePadding="10dp"
                android:gravity="center_vertical"
                android:text="@string/logout"
                <strong><span style="font-size:24px;color:#ff0000;">android:textColor="@drawable/btnselectorcolor"</span></strong>
                android:textSize="@dimen/Menu_Font_Size" />

成功完成!!!!


相關推薦

Android 按鈕切換背景同時修改文字顏色

     其實原理很簡單,用到的是selector,用來設定android:background和android:textcolor屬性,selector可以用來設定預設時候、點選時候的背景圖片和文字

WPF 平板上按鈕不觸發滑鼠觸發的兩種解決方法

原文: WPF 平板上按鈕點選不觸發,滑鼠點選觸發的兩種解決方法 今天執行在windows平板上的程式,有個功能是彈出子窗體,點彈出窗體的關閉按鈕,要點好幾次才能觸發。網上找了找,也有人與我類似的情形。 解決方法如下: public static void DisableWPFTabletSupp

Android實現通知欄後先啟動應用再開啟目標Activity

情況簡述 在開發Android app的過程中,遇到這樣一個需求:app中啟動一個Service,該Service在獨立程序中執行,與伺服器保持長連線,將伺服器推送過來的訊息在通知欄中顯示,並設定點選動作,點選後跳轉到app中對應的Activity。目前遇到的問題是Se

[js]多個按鈕新增div刪除

主要思想是一個全域性變數來控制增加或刪除。點一下顯示,再點一下刪除。 原始碼如下,可直接執行 <!DOCTYPE html> <html> <head>

android圖片放大動畫並遮擋旁邊的控制元件

首先是點選放大 可以使用android自帶的縮放動畫,因為要遮蓋其他控制元件,就需要控制元件處在最上層,這裡需要呼叫bringTofront方法 @Overridepublic boolean onTouch(View v, MotionEvent event) {// T

Android popupWindow 外部消失外部其他控制元件觸發其他事件

問題: Listview的item有個按鈕,點選按鈕就彈出一個彈框,然後點選彈框外部,彈框消失。問題來了,如果點選是其他item裡的按鈕,只是響應彈框消失事件,並沒有觸發該按鈕的點選事件,要再點一遍該按鈕,才會彈出彈框,程式碼如下: PopupWindow pop

返回鍵同時隱藏輸入區域和軟鍵盤

我當時要做的需求是,底部評論區,和評論編輯區域,首先評論區域是顯示的,編輯區域是隱藏的,當點選評論區時,隱藏評論區,顯示編輯評論的區域(見圖)和edittext獲取焦點,彈出軟鍵盤, 在剛開始做的時候嘗試了很多種方法(成功的方法在最後一條,中間是我做的一些實驗的方法和一開始

Android 根據觸控狀態切換背景顏色字型等狀態

問題的來源:        初學Android時,設計部給出的要求是當點選某一個大的控制元件(這個控制元件是個複雜的佈局,中間有很多圖示,文字之類的)會出現不同的效果。我們知道可以使用xml檔案來實現按鈕不同狀態下的變化。但是當多個佈局一起的時候就感覺不這樣用了,至少我當時

火車票飛機票切換按鈕切換出發城市和到達城市

如圖,點選中間的切換圖示,切換左右兩邊的城市,並且帶有動畫效果   只要利用css的特性transition和js的方法toggleClass就可以啦,具體操作如下: <div class="con"> <div class="choose-ci

Android底部導航欄切換介面選項時文字和圖示改變顏色

** 類似底部導航欄的選單,點選圖示,文字和圖示都變顏色,Fragment切換介面詳解 ** 先看效果圖 以下是全部完整程式碼,如果有問題歡迎留言 圖示和文字佈局color_change.xml <?xml version="1.0" encodi

Android中Recyclerview使用7----條目中按鈕事件在activity中呼叫(介面回撥)

0引入Recyclerview的支援庫    compile 'com.android.support:recyclerview-v7:23.4.0' 1效果圖: 2程式碼: 2.1MainActivity中: <span style="font-size:18p

Android Dialog按鈕不關閉控制視窗的顯示和關閉

想象一下這樣的一個情景:彈出一個對話方塊,裡面可以編輯sql語句,編輯好以後點選確定按鈕,執行sql,此時對話方塊也會消失。如果sql順利執行,這種互動還是很不錯的。但是一旦sql執行出錯,對話方塊還是會關閉,對話方塊中的sql也就沒有了,只能重新編輯。如果sql很複雜,那

android imageButton 按鈕前中後按鈕顏色的變化

我們在開發的過程中,往往為了美化介面的需要,會修改按鈕的預設外觀,而因為Android中的按鈕有三種狀態—預設,被點選,被選中。所以,如果要改變按鈕的外觀,需要對這三種情況都做出修改,也許在以往,我們最容易想到的就是,手動監聽按鈕的選中和點選事件,然後寫程式碼來替換按鈕的背景,但是在android中,我們

Android相簿支援檢視本地相簿放大圖片滑動切換圖片手勢放大縮小

最近在做一個專案,需要用到點選選擇相簿圖片和展示好友說說圖片,之前也未接觸過,找了很久,都沒有找到我想要的效果,不是隻能檢視相簿點選放大,要不就只是左右滑動的demo,於是修改了兩個大神的程式碼(來源

android studio 執行按鈕無反應調不出模擬器

 最近發現個問題,在用AS時發現,點選執行或者debug按鈕時,沒能像以前一樣,正常彈出模擬器。 找了很多辦法也沒有解決。後來,索性刪除模擬器重建,問題得到解決。 刪除方法: 刪除 C:\Us

Android Button按鈕兩次之後才執行事件的操作。

    在我的專案裡有個頁面同時存在 一個EditText和一個Button。如圖。 由於每次進入這個頁面都彈出軟鍵盤,所以我在這個提交訂單頁面的AndroidManifest.xml中聲明瞭一句 android:windowSoftInputMode="stateH

ViewPager+Fragment支援導航滑動以及切換觸發替換某個tab對應的fragment

每天積累一點點,時間久了,你就是大牛了     最近專案中要改造首頁導航欄,框架是用ViewPager+Fragment做的。導航欄中有一項fragment不固定,進入首頁前如果伺服器資料訪問到了並且傳進來了就會指明要展示的fragment。如果沒有訪問

Android縮圖放大至全圖

最近做一個專案類似於QQ空間,做到照片瀏覽的功能,對於QQ空間中點選圖片放大至全屏,感覺效果很贊,於是也做了個類似的效果。如下。 我不知道QQ那個是怎麼做的,我的思路如下: 首先,從圖片縮略介面跳轉到圖片詳情頁面,應該是從一個Activity跳轉到另外一個Activ

jquery定義之後的按鈕事件會產生累計的情況

使用jquery的on()方法為元素綁定了點選事件,點選同時傳送請求。完成後看效果,第一次點選沒有問題。再一次點選後發現傳送了兩次請求,後面再點擊發現請求的數量越來越多。當排查之後,發現只有一個元素綁定了事件,而且只調用了一次之後,得出最有可能的一種情況,就是點選事件被累加綁定了。 $("#ad

Axure Button 按鈕 滑鼠懸停改變按鈕的背景色並且新增陰影滑鼠移開恢復原狀

第一步:建立按鈕Btn 第二步:轉為動態面板,即可以互動的面板 轉換後文件成為動態面板 第三步:新增要互動的按鈕樣式 自動生成(我改了名字) 第四步:選中LoginBtn(此按鈕會出現在頁面的左上角) 如: 第五步:新增陰影,背景色 第