2016-05-17 11 views

答えて

3

私はあなたがボタンの2つのカスタムイメージを作成し、背景として描画可能なXMLを使用する必要があるとしていると思います。例について

<ToggleButton 
    android:id="@+id/toggleButton1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/btntoggle_selector" 
    android:textColor="@android:color/white" 
    android:textOff="Toggle Button OFF" 
    android:textOn="Toggle Button ON " 
    android:onClick="onToggleButtonClick"/> 

そしてbtntoggle_selectorのXML

<?xml version="1.0" encoding="utf-8"?> 

<item android:drawable="@drawable/bg_selected" android:state_checked="true" android:state_pressed="true"/> 
<item android:drawable="@drawable/bg_selected" android:state_checked="true" android:state_focused="false"/> 
<item android:drawable="@drawable/bg_normal" android:state_checked="false" android:state_pressed="true"/> 
<item android:drawable="@drawable/bg_normal" android:state_checked="false" android:state_focused="false"/> 

bg_selected

とbg_normalだけ画像9パッチのようなもの。

See the Android developer guide on 9-patch images

0

スイッチは、Androidには、同じことのトグルボタンはありませんが同様の質問が重複をマ​​ークしました。 How to change color of the toggle button? どちらもCompoundButtonから継承します。いくつかの異なる方法とカスタマイズのサポートがあります。 他の場所に投稿されたsetBackgroundは、親指または境界を変更することはできません。だから

   if(!isChecked) { 
        buttonView.setBackgroundResource(R.drawable.border_for_toggle_button); 
       } 

バックグラウンドを設定することにより、一方が変更することができます。以下のコードで How set background drawable programmatically in Android

<?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<corners android:radius="3dp" /> 
<stroke android:width="2px" android:color="#000000" /> </shape> 

、その後に基づいて境界線の色を変更する例であります見た目。内部の色全体を変更するには、上に描画可能なXMLを追加することができます。これを追加して内側のターンが緑色になるようにします。

1

変更が大きくない場合は、テーマを使用できると思います。

<style name="AppTheme.ToggleButton" parent="Base.Widget.AppCompat.Button"> 
     <item name="colorButtonNormal">@color/colorPrimary</item> 
     <item name="android:textColor">@android:color/white</item> 
     <item name="colorAccent">@android:color/white</item> 
    </style> 

ここではToggleButtonでこの新しいテーマを使用できます。

<ToggleButton 
      android:id="@+id/keyboard_caps_lock_btn" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="2" 
      android:minWidth="0dp" 
      android:textOff="@string/keyboard_caps_lock" 
      android:textOn="@string/keyboard_caps_lock" 
      android:textAllCaps="false" 
      android:theme="@style/AppTheme.ToggleButton" /> 
0

それはあなたの付加価値にこのスタイルを設定し

<Toggle Button 
     android:id="@+id/my_location" 
     android:textColor="#000" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAllCaps="false" 
     android:theme="@style/ToggleButton" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentRight="true" /> 

XMLファイルです>スタイルファイル

<style name="ToggleButton" parent="Base.Widget.AppCompat.Button"> 
    <item name="colorButtonNormal">@color/colorPrimary</item> 
    <item name="android:textColor">@android:color/white</item> 
    <item name="colorAccent">@android:color/white</item> 
</style> 
関連する問題