59

トグルボタンの外観をカスタマイズしようとしましたが、成功しませんでした。これが私がそれをどのように見せたいかです:

ここに画像の説明を入力

誰かが私にチュートリアルを与えることができますか?

4

4 に答える 4

118

res/drawable に toggle_selector.xml を作成します

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/toggle_on" android:state_checked="true"/>
  <item android:drawable="@drawable/toggle_off" android:state_checked="false"/>
</selector>

セレクターをトグルボタンに適用します

<ToggleButton
            android:id="@+id/chkState"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/toggle_selector"
            android:textOff=""
            android:textOn=""/>

注:上記のコードで使用したテキストを削除するため

textOff=""
textOn=""
于 2013-11-30T13:22:20.410 に答える
9

これが最善の解決策かどうかはわかりませんが、私にとってはうまくいきました:

1.-トグル ボタンのサイズを決定します。私の場合、幅 56 dp、高さ 76 dp です。

2.- mdpi 用に 56px-76px、xhdpi と xxhdpi 用に同じ 84px-113px hdpi のアイコン セットを作成します。

3.-アイコンを対応するドローアブル フォルダに移動します。私の場合、ic_name1_on、ic_name1_off [...] ic_name5_off という名前の各フォルダーに 20 個のアイコン 5

4.- drawableという名前の新しいフォルダーに次の xml ファイルを作成します (まだ存在しない場合)。

  • ic_name1_toggle.xml
  • ic_name1_toggle_bg.xml
  • ic_name2_toggle.xml
  • (...)
  • ic_name5_toggle_bg.xml

5.- ic_name1_toggle.xmlでは、コードは次のようにする必要があります。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_checked="false"
        android:drawable="@drawable/ic_name1_off" />
    <item
        android:state_checked="true"
        android:drawable="@drawable/ic_name1_on" />
</selector>

6.- ic_name1_toggle_bg.xml では、コードは次のようにする必要があります。

<?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/ic_name1_toggle" />
</layer-list>

7.-最後に、layout.xml で:

<ToggleButton
                android:id="@+id/toggleButton1"
                android:layout_width="56dp"
                android:layout_height="76dp"
                android:background="@android:color/transparent"
                android:button="@drawable/ic_name1_toggle_bg"
                android:textOff=""
                android:textOn="" />
于 2014-07-28T15:41:05.840 に答える
1

ボタンのカスタム背景を定義する必要があると思います。ボタンの背景のカスタマイズに関する開発者ガイドをご覧ください。

ただし、手順 3 では、[res/drawable/ directoryこの Xml を使用]で新しい XML ファイルを作成します。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/button_da"
          android:state_checked="true" />
    <item android:drawable="@drawable/button_nu" />
</selector>

要素android:state_checked="true"は、その状態をチェックされた背景として定義するものです。

これがうまくいくかどうか教えてください。

于 2013-09-11T20:35:41.560 に答える
0

セレクターの作成

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/btn_da" android:state_checked="true"/>
    <item android:drawable="@drawable/btn_nu"/>
</selector>

トグルボタンの背景として使用します。

于 2013-08-20T13:41:45.413 に答える