首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓ToggleButton指示灯

安卓ToggleButton指示灯
EN

Stack Overflow用户
提问于 2011-04-21 04:20:47
回答 1查看 4.7K关注 0票数 3

我正在为Android ToggleButton而苦苦挣扎,因为我试图改变绿色指示灯。在Android SDK文件夹中,我找到了文件drawable\btn_toggle_bg.xml,其中写着

代码语言:javascript
复制
<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文件夹中,并将最后一项更改为

代码语言:javascript
复制
<item android:id="@+android:id/toggle" android:drawable="@drawable/btn_toggle" />

然后从Android SDK中取出原始的btn_toggle.xml,也复制到可绘制文件夹中。btn_toggle.xml是这样的:

代码语言:javascript
复制
<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。最后,我添加了这行

代码语言:javascript
复制
<ToggleButton
...
android:background="@drawable/btn_toggle_bg" />

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

你能帮我吗?:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-21 05:19:11

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

btn_toggle_off.9.pngbtn_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"

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5736156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档