首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android ToggleButton

Android ToggleButton
EN

Stack Overflow用户
提问于 2012-09-27 12:08:00
回答 3查看 8.1K关注 0票数 12

通过遵循这个文章,我能够创建一个由图像组成的切换按钮。我的按钮没有任何文本,只是打开/关闭图像。

当我的切换按钮被创建时,它正在被拉伸,失去了它的比例,我如何使它保持原来的大小?

这些是im使用的图像:

守则:

main.xml:

代码语言:javascript
运行
复制
<ToggleButton
   android:id="@+id/changeNumerals"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentLeft="true"
   android:layout_alignParentTop="true"
   android:checked="true"
   android:background="@drawable/toggle_bg"
   android:textOn=""
   android:textOff=""            
/>

drawable/toggle.xml:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_checked="false" android:drawable="@drawable/toggle_off" />
   <item android:state_checked="true" android:drawable="@drawable/toggle_on" />
</selector>

drawable/toggle_bg.xml:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:id="@+android:id/background" android:drawable="@android:color/transparent" />
   <item android:id="@+android:id/toggle" android:drawable="@drawable/toggle" />
</layer-list>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-27 12:33:09

尺寸是“硬编码的”,但它们会随着屏幕的大小而缩放。

因此,xml看起来可能如下:

代码语言:javascript
运行
复制
android:layout_width="64dp"
android:layout_height="24dp"

dps的正式文档是这里

票数 7
EN

Stack Overflow用户

发布于 2012-09-27 12:41:00

<ToggleButton>尝试以下属性

代码语言:javascript
运行
复制
android:background="@android:color/transparent"
android:button="@drawable/toggle_bg"

应该管用的。祝你好运:)

票数 13
EN

Stack Overflow用户

发布于 2013-12-20 12:04:34

为了支持从姜饼到当前版本的版本,我最终使用了:

代码语言:javascript
运行
复制
<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/filterPhotos"
    android:checked="true"
    android:textOn=""
    android:textOff=""
    android:paddingLeft="5dp"
    android:drawableRight="@drawable/toggle_filter_photos"
    android:background="@null"/>

以及可绘制的toggle_filter_photos.xml:

代码语言:javascript
运行
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/picture_filter_icons"
          android:state_checked="true" />
    <item android:drawable="@drawable/picture_inactive_filter_icons" />
</selector>

上面的其他解决方案对姜饼和更新的姜饼没有很好的效果,因为图标根本不显示(在姜饼上使用android:button ),或者失去了高宽比( android:background在JELLY_BEAN_MR1上是4.2.2)。

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

https://stackoverflow.com/questions/12621019

复制
相关文章

相似问题

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