0

次のボタンをクリックした後にボタンの色をデフォルトに変更する方法は? onclicklistener のボタンに色を設定する次のコードがあります。

Button button = (Button) v;
button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x003333));

すべてのボタンにワンクリック リスナーがあります。次のボタンをクリックしたときに、このボタンの背景色をクリアするにはどうすればよいですか?

4

1 に答える 1

0

または、前のボタンへの参照をアクティビティのスコープに保存し、それを onclick で使用してリセットします。または、クリックされたものを除くすべてのボタンの背景を設定します。

Button previousButton = null;

@Override
public void onClick(View v) {
    //reset old button
    if (previousButton != null) {
        previousButton.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x000000));
    }

    //prettify new button
    Button button = (Button) v;
    button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x003333));

    previousButton = button;
}
于 2013-03-29T14:09:05.560 に答える