2013-08-20 9 views
40

私はトグルボタンの外観をカスタマイズしようとしましたが、成功しませんでした。ここで が、私はそれが見えるようにする方法である:Androidトグルボタンのカスタム表示

enter image description here

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

+0

http://stackoverflow.com/questions/9752760/slide-toggle-for-androidを参照してください。 –

+0

私が探しているものではありません。私は何かが必要です。2.2 –

+0

CWACが言っているように、Androidはopensourceです。あなたのアプリケーション内で好きな機能を4のソースに入れて、2.X –

答えて

1

セレクタ

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

とあなたのトグルボタンの背景としてそれを使用するを作成します。

+0

私はこれを試し続けましたが、コードはエラーを表示するか何もしません。もう少し包括的でお願いしますか?私は正確に何をしなければなりませんか?私は初心者です。 –

1

ボタンのカスタム背景を定義する必要があると思います。 Button's backgroundのカスタマイズに関する開発者ガイドをご覧ください。手順3でしかし

、このXML res/drawable/ directory使用中の新しい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"が確認された背景として、その状態を定義するものです。

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

87

あなたのトグルボタンに

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

注セレクタを適用

/解像度で描画可能

<?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> 
をtoggle_selector.xmlを作成します。私は上記のコードで

textOff="" 
textOn="" 
を次のように使用されるテキストを除去するために
6

これが最善の解決策であるかどうかわかりませんが、それは私のためにうまくいきました。

1.-トグルボタンの大きさを決めます。私の場合、幅56dpと高さ76dp。

2.-アイコンを作成してはxhdpiとxxhdpi

3.-対応する描画可能なフォルダ内のアイコンを移動するための同じ、MDPI、84px-113pxのhdpi用56px 76px-セット。私の場合はic_name1_onという名前の各フォルダ内の20個のアイコン5、ic_name1_off [...]

4.- ic_name5_off描画可能と呼ばれる新しいフォルダ(それがまだ存在しない場合)で、次のXMLファイルを作成します。

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

5- ic_name1_toggle。XMLコードがなければなりません:ic_name1_toggle_bg.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.-でなければなりません:あなたのlayout.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.-

<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="" /> 
関連する問題