簡體   English   中英

在Android活動中更改單擊按鈕時的外觀

[英]change the apperance of a button on click in 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;
    }
}

誰能告訴我我在這里做錯了什么? 提前謝謝了

這樣嘗試

private int START_BUFFER = 0; 私有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);
    }
}

您應該使用格式0xAARRGGBB而不是0xRRGGBB。

如果使用0xFF0000,它將被讀取為0x00FF0000,這是透明的。

只需放入0xFFFF0000,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM