Android切换按钮指示器

Android切换按钮指示器,android,togglebutton,Android,Togglebutton,我正在努力使用Android切换按钮,因为我试图改变绿色指示灯。在Android SDK文件夹中,我找到了drawable\btn\u toggle\u bg.xml文件,其中显示 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+android:id/background" android:drawable="@android:drawab

我正在努力使用Android切换按钮,因为我试图改变绿色指示灯。在Android SDK文件夹中,我找到了drawable\btn\u toggle\u bg.xml文件,其中显示

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+android:id/background" android:drawable="@android:drawable/btn_default_small" /> 
  <item android:id="@+android:id/toggle" android:drawable="@android:drawable/btn_toggle" /> 
</layer-list>

我将此文件复制到项目的drawable文件夹中,并将最后一项更改为

<item android:id="@+android:id/toggle" android:drawable="@drawable/btn_toggle" />

然后从Android SDK中获取原始的btn_toggle.xml,并复制到drawable文件夹中。btn_toggle.xml是这样的:

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

所以我认为有必要创建btn_toggle_off.png和btn_toggle_on.png。最后我加了一行

<ToggleButton
...
android:background="@drawable/btn_toggle_bg" />

但最后,ToggleButton看起来完全奇怪。 我注意到的是SDK中名为btn_toggle_off.9.png和btn_toggle_on.9.png的文件,但我找不到这些文件的引用,尽管它们看起来与原始指示器非常相似


你能帮我吗?:)

如果不完全重新设计切换按钮小部件的样式,您尝试替换的资源可能应该是9个补丁PNG,就像原始的一样

btn\u toggle\u off.9.png
btn\u toggle\u on.9.png
复制到项目中并修改它们,或者使用
draw9patch
工具将九个补丁元数据正确添加到您自己的图像中

请参阅以下文档,以了解Android的九个补丁Drawable的说明:

文件名的“.9”部分必须保留,但在XML资源中没有引用。因此
btn\u toggle\u on.9.png
简称为
“@drawable/btn\u toggle\u on”