2011-09-07 92 views
5

如果按下按鈕,我會嘗試切換按鈕的背景。我建立一個選擇器就像這裏提供的答案:Standard Android Button with a different color按鈕背景選擇器

最後我想把GradientDrawables裏面,但爲了調試的目的,我只想設置一個顏色,看看它是否工作。 這裏是我的選擇器

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@color/red"/> 
    <item 
    android:state_focused="true" 
    android:drawable="@color/white"/> 
    <item 
    android:state_pressed="true" 
    android:drawable="@color/white"/> 
</selector> 

不幸的是,這是行不通的。我將「選擇器」設置爲「我的按鈕的背景」,只能以紅色看到它們。我在做什麼錯(構建目標2.1)

回答

19

把這個末

項目機器人:可繪製=「@色/紅色」

我的意思是作爲第三個選項,它會工作。 android從一開始就檢查xml條件,第一個標籤沒有任何條件,所以它總是會選擇紅色,所以你先放條件,然後是默認條件。

+0

嗯,這並不工作,因爲現在他們是白色所有的時間 –

+0

正在專注你的按鈕? –

+0

我不這麼認爲。我有兩個按鈕,它們都是白色的,點擊時沒有任何變化 –

0

這裏是我使用的代碼,它工作得很好。

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/button_clicked" 
     android:state_pressed="true" android:state_enabled="true" /> 

    <item android:drawable="@drawable/button" android:state_enabled="true" /> 
    </selector> 

這裏我用兩張圖片我做了用photoshop作爲背景

首先是button_clicked,第二個是按鈕

複製它,改變使用自己的資源。

希望我能幫助:)