こんにちは私はトグルボタンを使用したいが、インジケーターの色(緑色や赤色など)が異なる、インジケーターの色を変更する方法。トグルボタンでインジケーターの色を変更する方法(Android)
See default indicator on imgur
こんにちは私はトグルボタンを使用したいが、インジケーターの色(緑色や赤色など)が異なる、インジケーターの色を変更する方法。トグルボタンでインジケーターの色を変更する方法(Android)
See default indicator on imgur
私はあなたがボタンの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パッチのようなもの。
スイッチは、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を追加することができます。これを追加して内側のターンが緑色になるようにします。
変更が大きくない場合は、テーマを使用できると思います。
<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" />
それはあなたの付加価値にこのスタイルを設定し
<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>