2012-05-08 101 views
0

創建按鈕這樣的:如何在編程時以編程方式更改按鈕文本顏色?

Button button = new Button(this); 
button.setText("2012"); 
button.setBackgroundColor(Color.TRANSPARENT); 
button.setOnClickListener(mCorkyListener); 
layout.addView(dateButton); 

在點擊listiner我有這樣的方法。在這裏,我想改變按鈕的文字顏色。 Bu查看沒有此方法

private OnClickListener mCorkyListener = new OnClickListener() { 
     public void onClick(View v) { 
      // do something when the button is clicked 
      //v.setBackgroundColor(Color.RED); 
//so how to change pressed button text color ? 
//v.setTextColor(colors); 
     } 
    }; 

不會只有一個按鈕。會有很多這些,我需要chnage文本顏色時按下按鈕。

回答

0
private OnClickListener mCorkyListener = new OnClickListener() { 
    public void onClick(View v) {   
    Button button = (Button)v; 
    button.setTextColor(Color.RED); 
     } 
    }; 
0
button.setTextColor(Color.WHITE); 

這將改變按鈕的文本顏色。你是否想點擊按鈕時按下按鈕?

+0

我的新聞效應將改變文字顏色 – Streetboy

+0

http://www.mkyong.com/android/android-imagebutton-selector-示例/ –

+0

簽出此鏈接添加選擇器作爲您的按鈕背景將幫助您這樣做。但在此之前,給兩個資源添加到選擇器。 –

0

最好的辦法不是通過編程(使用selector),但是如果你想以編程的方式做到這一點,你可以將它轉換爲Button,然後改變顏色。

public void onClick(View v) { 
    Button b = (Button) findViewById(v.getId()); 
    b.setBackgroundColor(Color.RED)l 
} 
0

如果您有興趣使用的onClick(View v)查看然後只需將它轉換爲按鈕

 public void onClick(View v) { 
     if(v instanceof Button){ 
       ((Button)v).setTextColor(Color.WHITE); 
      } 
    } 
1

我知道你問有關更改文本顏色,和其他人已經相當不錯覆蓋該,但你也可以改變按鈕顏色本身(我發現比文本顏色更改更可見:p)...

import android.graphics.PorterDuff; 

爲了將其設置爲綠色(假設你以一個標準的灰色按鈕):

aButton.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     Button aButton = (Button) view.findViewById(R.id.abutton); 
     aButton.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY); 
    } 
} 
+0

感謝你的這段代碼,但我的想法是做點擊文本而不是顯示按鈕,因爲這個原因,我的按鈕背景是透明的。 – Streetboy

+0

我會給+1分享。雖然答案不是用戶要求的:) –

相關問題