2012-02-17 81 views

回答

8

見該位文檔稱爲狀態列表節... Drawable Resources

您可以定義兩種不同Button XML文件一個是透明的「默認」狀態,另一個按鈕爲紅色爲你的「按下」狀態。然後定義一個selector,它將可繪製資源切換到不同的狀態。

編輯:按照devunwired的評論的顏色狀態列表資源可能更適用於只是改變顏色,而不是繪製本身。

+6

+1因爲這個答案大部分是正確的。不過,我想補充一點,您可以使用顏色狀態列表以類似的方式更改'android:textColor'屬性:http://developer.android.com/guide/topics/resources/color-list -resource.html – Devunwired 2012-02-17 21:27:00

+0

Doh!是的,一點沒錯。我應該也包括一個鏈接 - 我只是碰巧有另一個鏈接書籤,所以它在手邊。 – Squonk 2012-02-17 21:35:09

1

您必須在您的代碼中執行此操作。試試這個:

mBtn = ((Button) findViewById(R.id.button1)); 
    mBtn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      mBtn.setTextColor(Color.RED); 
     } 
    }); 

聲明:本

private Button mBtn; 
30

是的,你可以做這樣的:

佈局/ main_layout.xml:

..... 
    <Button 
     android:id="@+id/button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="bonjour !" 
     android:textColor="@color/button_text_color" 
    /> 
..... 

顏色/ button_text_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="#c0c0c0" android:state_pressed="true"/> 
    <item android:color="#ffffff"/> 
    </selector> 
+1

你究竟在哪裏改變文字顏色?你正在玩背景,但不是文字顏色 – 2014-09-22 10:06:21

+1

不是'@ drawable/button_text_color',而是'@ color/button_text_color'。 – CoolMind 2017-10-09 16:51:29