我尝试使用XML文件更改切换按钮的背景颜色为白色,但切换按钮完全损坏。看起来所有按钮都覆盖着白色。
当我将切换按钮的颜色更改为白色时,切换按钮上没有ON或OFF指示。是否有另一种改变背景的方法,不会损坏切换按钮的指示?
<ToggleButton android:id="@+id/togglebutton"
android:layout_width="100px"
android:layout_height="46px"
android:background="#ffffff"
android:layout_above ="@+id/save"
android:textOn="DAY"
android:textOff="NIGHT" />
这就是我的XML代码查找切换按钮的方式。
答案 0 :(得分:14)
是的,有一种方法可以根据需要更改背景,但你必须使用这样的选择器作为背景:
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/some_image" />
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/some_other_image" />
<item
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/some_image1" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/other_image" />
</selector>
对于@Drawable等(您可以使用颜色或制作渐变。请查看this以获取有关渐变的更多信息。
答案 1 :(得分:3)
按照这种方式使ToogleButton
在开启时背景颜色为红色,在关闭时使背景颜色为
首先,在可绘制文件夹中创建tooglebutton_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/togglebutton_on"
android:state_checked="true" />
<item android:drawable="@drawable/togglebutton_off"
android:state_checked="false"
/>
</selector>
第二次,在可绘制文件夹中创建togglebutton_on.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#ff0000" /> // red color
</shape>
第三次,在可绘制文件夹中创建togglebutton_off.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#00FF00" /> // green color
</shape>
终于,在您的ToggleButton
中 <ToggleButton
android:id="@+id/btnMon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tooglebutton_selector" //set background of ToggleButton to tooglebutton_selector
/>
答案 2 :(得分:-14)
反编译SystemUI.apk时,应该转到以下文件:SystemUI / res / values / colors.xml
然后更改以下行:
的#FF000000 强> #FFFFFFFF #8000 #ffadc1d6 #FFFFFFFF #ffe6e6e6