如何在android中更改开关的背景?

use*_*192 5 android

我试图改变开关的背景.它正在改变,但问题是一些文字是可见的.

在此输入图像描述

以下是我的代码

  <Switch
    android:id="@+id/switchsubsurf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="68dp"
    android:padding="5dip"
    android:textOff="                "
    android:textOn="                 "
    android:thumb="@drawable/toggle_button"
    android:track="@drawable/toggle_bg" />
Run Code Online (Sandbox Code Playgroud)

Uma*_*kar 14

在res里面做一个抽屉文件夹

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/toggle_on" android:state_checked="true" android:state_pressed="true"/>
<item android:drawable="@drawable/toggle_on" android:state_checked="true" android:state_focused="false"/>
<item android:drawable="@drawable/toggle_off" android:state_checked="false" android:state_pressed="true"/>
<item android:drawable="@drawable/toggle_off" android:state_checked="false" android:state_focused="false"/>

</selector>
Run Code Online (Sandbox Code Playgroud)

然后在xml中执行此操作

<Switch
    android:id="@+id/saveLoginCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textOn=""
    android:textOff=""
    android:text=""
    android:background="@drawable/toggle_selector"
    android:thumb="@android:color/transparent"
    android:track="@android:color/transparent"
    /> 
Run Code Online (Sandbox Code Playgroud)


dbe*_*m22 0

看看这个答案:

使用Android 4.0风格的切换按钮

您可以使用 2.2 兼容的切换按钮,并将其设计为看起来像开关,或者您想要的任何样式。只需更换帖子中提供的 *.png 即可。

不知道为什么 Android 放弃切换按钮而转而使用开关,因为它们本来可以改变按钮的外观和感觉。不管怎样,为了兼容性,我会坚持使用切换按钮,特别是如果你想改变它的外观和感觉。