在Android Activity中单击时更改按钮的外观

时间:2014-11-04 11:39:07

标签: java android button android-activity

我正在尝试更改点击按钮的外观,例如切换。 当我点击它时我希望它的文字和颜色改变,但它的文字就消失了。 这是我点击它时btn的代码:

public void ToggleBuffer(View view) {
    if(this.toggleBufferIsActive){
        this.btn.setText("Start Buffer");
        this.btn.setTextColor(0x0000CD);
        this.btn.invalidate();
        this.toggleBufferIsActive = false;
    }
    else{
        this.btn.getBackground().setColorFilter(0xFFBBAA00, PorterDuff.Mode.MULTIPLY);
        this.btn.setText("Stop Buffer");
        this.btn.setTextColor(0xff0000);
        this.btn.invalidate();
        this.toggleBufferIsActive = true;
    }
}

谁能告诉我这里做错了什么? 非常感谢提前

2 个答案:

答案 0 :(得分:0)

尝试这样,

private int START_BUFFER = 0; private int STOP_BUFFER = 1;

首先写btn.setTag(START_BUFFER);在btn初始化之后

public void ToggleBuffer(View view) {
    if(((Button) view).getTag() = 0){
        this.btn.setText("Start Buffer");
        this.btn.setTextColor(0x0000CD);
        ((Button) view).setTag(STOP_BUFFER);
    }
    else{
        this.btn.getBackground().setColorFilter(0xFFBBAA00, PorterDuff.Mode.MULTIPLY);
        this.btn.setText("Stop Buffer");
        this.btn.setTextColor(0xff0000);
       ((Button) view).setTag(START_BUFFER);
    }
}

答案 1 :(得分:0)

您应该使用格式0xAARRGGBB而不是0xRRGGBB。

如果使用0xFF0000,它将被读取为0x00FF0000,这是透明的。

只需输入0xFFFF0000即可。