使用Android 4.0样式切换按钮

saf*_*ari 14 layout android togglebutton android-layout

我想做什么


我正在尝试在我的布局中使用Android 4.0样式的togglebutton.为此,我选择了Theme = Theme.Holo.Light.当我从那里拿到togglebutton时,如果按钮被启用,则该绿色线的正方形.

但我想使用togglebutton就像他们在那里配置顶部(看看打印屏幕).


我怎么能用这个togglebutton?一些Codesnippets或快速教程会很棒!

最好的祝福

苹果浏览器

图片


togglebuttons的屏幕截图

ank*_*.de 24

新编辑:我现在完成了Switch的完整backport回API级别8并放入github:https: //github.com/ankri/SwitchCompatLibrary


我自定义实现Switch的旧帖子:

我参加派对有点晚了,但我遇到了同样的问题.我从这个thred的另一篇文章中获取了源代码,并制作了我自己的开关版本.

您可以在我的网站上找到源代码和文档

这就是它的样子:

SwitchButtonDemo截图

编辑:更新了链接和图片


dbe*_*m22 21

更新:新图像适用于浅色和深色背景.原始图像仍然可用.

此外,正如有人在评论中指出的那样,请务必将其保存为"*.9.png",即"switch_on_on_db.9.png"等.


Ankri的答案很棒,但很重.此外,他使用4.2风格的开关,而不是旧的(在我看来,更漂亮)4.1风格的按钮.为了快速修复,我制作了一个drawable,以便您可以将togglebutton设计为看起来像一个开关.

首先,这是按钮样式:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/switch_on_on_db" android:state_checked="true" android:state_pressed="true"/>
<item android:drawable="@drawable/switch_on_on_db" android:state_checked="true" android:state_focused="false"/>
<item android:drawable="@drawable/switch_off_off_db" android:state_checked="false" android:state_pressed="true"/>
<item android:drawable="@drawable/switch_off_off_db" android:state_checked="false" android:state_focused="false"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

参考这些图像:

在此输入图像描述在此输入图像描述

从这里下载原始图像:

老了

老了

最后,您可以像这样设置togglebutton样式:

<ToggleButton 
    android:id="@+id/ParamToggleButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/toggletoswitch"
    android:textOff=""
    android:textOn=""/>
Run Code Online (Sandbox Code Playgroud)

更新:

Jelly Bean版本(虽然不完全相同)现已推出:

在此输入图像描述在此输入图像描述

老了

老了


小智 6

如果您的应用针对api级别14或更高级别.使用切换小部件并确保您的应用程序的主题是"Theme.Holo"或"Theme.Holo.Light"

但是,如果要将api级别定位到2.3以下,则必须进行自定义布局.我觉得解释这个很麻烦,我给你举个例子.

您可以在此处找到"切换"按钮的真实实现.

好吧,你可以获得这个来源并投入你的项目.你会有一些错误,但解决它并不困难.