2012-05-08 96 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分享。虽然答案不是用户要求的:) –

相关问题