Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在按下按钮时以编程方式更改按钮文本颜色?_Java_Android - Fatal编程技术网

Java 如何在按下按钮时以编程方式更改按钮文本颜色?

Java 如何在按下按钮时以编程方式更改按钮文本颜色?,java,android,Java,Android,我创建如下按钮: Button button = new Button(this); button.setText("2012"); button.setBackgroundColor(Color.TRANSPARENT); button.setOnClickListener(mCorkyListener); layout.addView(dateButton); 单击listiner,我有了这个方法。在这里我想改变按钮文本的颜色。Bu视图没有此方法 private OnClickL

我创建如下按钮:

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);
        }
    };
不会只有一个按钮。有很多这样的按钮,我需要在按下按钮时改变文本的颜色

button.setTextColor(Color.WHITE);

这将更改按钮的文本颜色。单击按钮时是否要使其产生按下效果?

最好的方法不是以编程方式(使用),但如果要以编程方式执行,可以将其强制转换为按钮,然后更改颜色

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

如果您有兴趣使用
onClick(View v)
的视图,只需将其转换为按钮即可

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

我知道你问过关于更改文本颜色的问题,其他人都很好地讨论了这一点,但是你也可以更改按钮颜色本身(我发现这比文本颜色更改更为明显:p)

要将其设置为绿色(假设以标准灰色按钮开始):


我的按下效果将更改为文本颜色签出此链接添加选择器作为按钮背景将帮助您完成此操作。但在此之前,请为selector添加两个资源。感谢您的此代码,但我的想法是执行可单击文本而不显示按钮,因此我的按钮背景是透明的。我将为共享提供+1。虽然答案不是用户要求的:)
     public void onClick(View v) {
        if(v instanceof Button){
              ((Button)v).setTextColor(Color.WHITE);
           }
     }
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);
    }
}