私がやろうとしていること
レイアウトでAndroid 4.0スタイルのトグルボタンを使用しようとしています。このために、テーマ= Theme.Holo.Lightを選択しました。そこからトグルボタンを取得すると、緑色の正方形が表示されます。ボタンが有効になっている場合は行。
しかし、上部の構成にあるようにトグルボタンを使用したいと思います(プリントスクリーンを見てください)。
質問
Thiseトグルボタンを使用するにはどうすればよいですか?いくつかのコードスニペットまたは簡単なチュートリアルがあれば素晴らしいでしょう!
宜しくお願いします
サファリ
写真
新しい編集:スイッチをAPIレベル8に完全にバックポートし、githubに配置しました: https://github.com/ankri/SwitchCompatLibrary
Switchのカスタム実装に関する古い投稿:
パーティーに少し遅れましたが、同じ問題がありました。私はこのスレッドの他の投稿からソースコードを取得し、独自のバージョンのスイッチを作成しました。
ソースコードとドキュメントを見つけることができます 私のウェブサイトで
これはどのように見えるかです:
編集:更新されたリンクと画像
更新:新しい画像は明るい背景と暗い背景の両方で機能します。元の画像はまだ利用可能です。
また、コメントで指摘されているように、必ず「* .9.png」、つまり「switch_on_on_db.9.png」などで保存してください。
アンクリの答えは素晴らしいですが、少し重いです。また、彼は古い(そして私の意見ではよりきれいな)4.1スタイルのボタンとは対照的に4.2スタイルのスイッチを使用しています。簡単に修正できるように、トグルボタンをスイッチのようにスタイル設定できるようにドローアブルを作成しました。
まず、ボタンのスタイルは次のとおりです。
<?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>
これらの画像を参照します:
ここから元の画像をダウンロードします。
最後に、次のようにトグルボタンのスタイルを設定できます。
<ToggleButton
Android:id="@+id/ParamToggleButton"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/toggletoswitch"
Android:textOff=""
Android:textOn=""/>
更新:
ジェリービーンズバージョン(同一ではありませんが)が利用可能になりました:
上記の素晴らしい解決策...ありがとう! (名前が指定されていませんか?)誰かが私のために働いた私のxmlを使用して、トグルボタンをスイッチのように見せることができるかもしれないと思いました:
<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/tokenbuttonは、上記のセレクターを参照します。再度、感謝します!