11

重複の可能性:
スイッチの「オン」の色を変更する

ToggleButton状態が緑 (true) から赤 (false) に変わるときに、色を変更する必要があります。どうすればToggleButton色を変えることができますか?

4

2 に答える 2

30

res/values フォルダーに、colors.xml という名前の xml を作成します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#ff0000</color>
    <color name="green">#00ff00</color>
</resources>

drawable フォルダーで、xml ファイル my_btn_toggle.xml を作成します。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@color/red"  />
    <item android:state_checked="true" android:drawable="@color/green"  />
</selector>

xml セクションでトグル ボタンを定義します。

<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New ToggleButton"
    android:id="@+id/toggleButton"
    android:background="@drawable/my_btn_toggle"/>
于 2012-08-16T00:05:09.670 に答える
8
ToggleButton Btn=new ToggleButton(this);// or get it from the layout by ToggleButton Btn=(ToggleButton) findViewById(R.id.IDofButton);
        Btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub
                if(isChecked)
                    buttonView.setBackgroundColor(Color.GREEN);
                else buttonView.setBackgroundColor(Color.RED);
            }
        });
于 2012-08-16T00:15:14.933 に答える