色に関するいくつかのスレッドを読みましたが、それらはすべて style.xml で設定する必要があります。
今のところ、これを使用して色を決定しています。
<style name="Color1SwitchStyle"> <item name="colorControlActivated">#0e8488</item> </style>'
たとえばコードを使用して、XML を使用せずに SwitchCompat/Checkbox の色を変更することは可能ですか?
色に関するいくつかのスレッドを読みましたが、それらはすべて style.xml で設定する必要があります。
今のところ、これを使用して色を決定しています。
<style name="Color1SwitchStyle"> <item name="colorControlActivated">#0e8488</item> </style>'
たとえばコードを使用して、XML を使用せずに SwitchCompat/Checkbox の色を変更することは可能ですか?
実際、それは難しいことではありません。
例:
int[][] states = new int[][] {
new int[] {-android.R.attr.state_checked},
new int[] {android.R.attr.state_checked},
};
int[] thumbColors = new int[] {
Color.BLACK,
Color.RED,
};
int[] trackColors = new int[] {
Color.GREEN,
Color.BLUE,
};
SwitchCompat switchCompat = (SwitchCompat) findViewById(R.id.switchControl);
AppCompatCheckBox checkBox = (AppCompatCheckBox) findViewById(R.id.checkbox);
checkBox.setSupportButtonTintList(new ColorStateList(states, thumbColors));
DrawableCompat.setTintList(DrawableCompat.wrap(switchCompat.getThumbDrawable()), new ColorStateList(states, thumbColors));
DrawableCompat.setTintList(DrawableCompat.wrap(switchCompat.getTrackDrawable()), new ColorStateList(states, trackColors));