【问题标题】:How to change switch button color in android如何在android中更改开关按钮颜色
【发布时间】:2018-06-13 07:56:07
【问题描述】:
我有这个开关按钮
<Switch
android:id="@+id/switch"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="some text"
android:textColor="@color/foreground" />
当按钮被选中时,如何将按钮的颜色从默认更改为我的颜色?
更新:
我试过这个解决方案:Change "on" color of a Switch
但是当我从 Switch 切换到 SwitchCompat 时,我看不到任何 Switch Buttons 更多
仅供参考,我使用<style name="AppTheme" parent="Theme.Leanback">
【问题讨论】:
标签:
android
button
layout
colors
switch-statement
【解决方案1】:
我已经通过编程改变开关按钮的颜色解决了这个问题
int myColor = getResources().getColor(R.color.myColor);
int defaultColor = getResources().getColor(R.color.defaultColor);
public void changeSwitch(View view) {
boolean checked = ((Switch) view).isChecked();
if (checked) {
((Switch) view).getThumbDrawable().setColorFilter(myColor,
PorterDuff.Mode.MULTIPLY);
((Switch) view).getTrackDrawable().setColorFilter(myColor,
PorterDuff.Mode.MULTIPLY);
} else {
((Switch) view).getThumbDrawable().setColorFilter(defaultColor,
PorterDuff.Mode.MULTIPLY);
((Switch) view).getTrackDrawable().setColorFilter(defaultColor,
PorterDuff.Mode.MULTIPLY);
}
}