使用Android 4.0风格的切换button

我正在尝试做什么


我试图在我的布局中使用Android 4.0风格的togglebutton。 为此,我select了Theme = Theme.Holo.Light。 当我从那里拿着那个绿色的方形button,如果button被启用。

但我想使用他们在那里configuration顶部(看看在打印屏幕)的切换button。


我怎样才能使用这个togglebutton? 一些Codesnippets或快速教程将是伟大的!

最好的祝福

苹果浏览器

图片


togglebuttons的屏幕截图

Solutions Collecting From Web of "使用Android 4.0风格的切换button"

新的编辑:我现在做了一个完整的back回到API级别8,并放在github上: https : //github.com/ankri/SwitchCompatLibrary


我的自定义执行开关的旧post:

我晚了一点,但我有同样的问题。 我从这个thred的另一个post的源代码,并作出了我自己的版本的开关。

你可以在我的网站上find源代码和文档

这是它的样子:

SwitchButtonDemo截图

编辑:更新了链接和图片

更新:新的图像工作在光明和黑暗的背景。 原始图像仍然可用。

另外,有人在评论中指出,确保将它们保存为“* .9.png”,即“switch_on_on_db.9.png”等。


安克里的回答很好,但很重。 此外,他使用4.2风格的开关,而不是更旧的(在我看来,更漂亮)4.1风格的button。 为了快速修复,我绘制了一个drawable,以便您可以将您的togglebutton设置为开关。

首先,这里是button样式:

<?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> 

其中涉及这些图像:

在这里输入图像说明在这里输入图像说明

从这里下载原始图像:

老closures

旧的

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

 <ToggleButton android:id="@+id/ParamToggleButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/toggletoswitch" android:textOff="" android:textOn=""/> 

更新:

果冻豆版本(虽然不相同)现在可用:

在这里输入图像说明在这里输入图像说明

老closures

旧的

如果你的应用程序的目标级别为14或更高。 使用切换小部件,并确保您的应用程序的主题是“Theme.Holo”或“Theme.Holo.Light”

然而,如果你想要在2.3以下定位api级别,你必须进行自定义布局。 我觉得解释这个很麻烦,我给你举个例子。

你可以在这里find“开关”button的真正的实现。

那么,你可以得到这个来源,并把你的项目。 你会有一些错误,但解决这个问题并不难。

上面的大解决scheme…谢谢! (没有给出名字?)我以为有人可能能够使用我的xml工作,使得togglebutton看起来像一个开关:

  <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right|center_vertical" android:orientation="horizontal" > <TextView android:id="@+id/tv_switchToggle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dip" android:layout_marginTop="0dip" android:text="@string/shake_to_add" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#ffffff" /> <ToggleButton android:id="@+id/switchToggle" android:layout_width="75dp" android:layout_height="20dp" android:layout_margin="5dip" android:background="@drawable/togglebutton" android:textOff="" android:textOn="" /> </LinearLayout> 

@ drawable / togglebutton是指上面介绍的select器。 再次感谢!