2017-03-01 7 views
2

リストおよびマップデータプレゼンテーションでアプリケーションを開発する。プレゼンテーションの間の切り替えのために、このように、イメージを持つカスタムスイッチを使用する必要があります。州ごとに異なる画像を持つカスタムスイッチコンパイル

enter image description here

なカスタムswitchcompatを作成する方法は?ここで

答えて

0

は非常に良い例です。

ORIGINAL ANSWER

あなたがバックグラウンドで使用されているドロウアブル、このようなスイッチャーの一部を定義することができます。

<Switch 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:thumb="@drawable/switch_thumb" 
    android:track="@drawable/switch_bg" /> 

今あなたが作成する必要がありますスイッチャーのドロワブルのさまざまな状態を定義するセレクタ。 Androidのソースから ここコピー:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:drawable="@drawable/switch_thumb_disabled_holo_light" /> 
    <item android:state_pressed="true" android:drawable="@drawable/switch_thumb_pressed_holo_light" /> 
    <item android:state_checked="true" android:drawable="@drawable/switch_thumb_activated_holo_light" /> 
    <item        android:drawable="@drawable/switch_thumb_holo_light" /> 
</selector> 

これは親指描画可能、背景上を移動する画像を定義します。

失活したバージョン(Androidが使用しているxhdpi版) The deactivated version
プレススライダー: The pressed slider
(オン状態)が作動スライダー: The activated slider
スライダーのために使用される4個のninepatchイメージがあります。デフォルトバージョン(オフ状態): enter image description here

背景には、次のセレクタで定義されている3つの異なる状態があります。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:drawable="@drawable/switch_bg_disabled_holo_dark" /> 
    <item android:state_focused="true" android:drawable="@drawable/switch_bg_focused_holo_dark" /> 
    <item        android:drawable="@drawable/switch_bg_holo_dark" /> 
</selector> 

失活したバージョン: The deactivated version
集中バージョン: The focused version
とデフォルトのバージョン: the default version

ちょうどこの2つのセレクタを作成するスタイルのスイッチを持っている、あなたのスイッチにそれらを設定します7つのイメージを表示し、希望するスタイルに変更します。

+0

ありがとうございます!しかし、このコントロールはSwitchCompat(ラジオボタンのようなもの)のようにすべきである - ユーザが左から右に引っ張ったときにステータスを変更する必要がある –

+0

@ElviraIatsko私の返答を編集した –

関連する問題