我正在为Android ToggleButton而苦苦挣扎,因为我试图改变绿色指示灯。在Android SDK文件夹中,我找到了文件drawable\btn_toggle_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,也复制到可绘制文件夹中。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的文件,但我找不到对这些文件的引用,尽管它们看起来与原始指示器完全相同。
你能帮我吗?:)
发布于 2011-04-21 05:19:11
如果不完全重新设置切换按钮小部件的样式,您尝试替换的资源可能应该是9个补丁PNG,就像原始的一样。
将btn_toggle_off.9.png和btn_toggle_on.9.png复制到您的项目中并修改它们,或者使用draw9patch工具将九个补丁元数据正确地添加到您自己的镜像中。
有关Android的九个补丁可绘制的说明,请参阅以下文档:
http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
http://developer.android.com/guide/developing/tools/draw9patch.html
文件名中的".9“部分必须保留,但在XML资源中不会被引用。因此,btn_toggle_on.9.png被简称为"@drawable/btn_toggle_on"。
https://stackoverflow.com/questions/5736156
复制相似问题