私のアプリでは、このようなトグル ボタンを表示する必要があります (これはチェック状態用です) http://s58.radikal.ru/i159/1308/dc/e3cb45e9a71f.jpg、暗い色は親ビューの背景です。サイズが 50x50 の色付きの円である必要がありますが、チェック状態の場合は外側に青い境界線を含める必要があります。ボタン全体は常に 70x70 である必要があるため、境界線に十分なスペースが確保されます。デフォルト状態には単純な形状のドローアブルを使用し、チェック状態にはレイヤーリストのドローアブルを使用する必要があると思いますが、それは機能しません。ある種の引き伸ばされた楕円形を作成し、境界線はありません( http://s019.radikalのように) .ru/i619/1308/50/0f02f9ab2ea4.jpg )。トグルボタンの背景に使用しているコードは次のとおりです。
first_board_color_dot.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true" android:drawable="@drawable/first_board_color_dot_checked"></item>
<item android:drawable="@drawable/first_board_color_dot_default"></item>
</selector>
first_board_color_dot_checked.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape
android:innerRadius="34dp"
android:shape="ring"
android:thickness="2dp" >
<solid android:color="@color/first_player_dot_color" />
</shape>
</item>
<item>
<shape android:shape="oval" android:gravity="center">
<solid android:color="@color/first_board_color" />
<size
android:height="50dp"
android:width="50dp" />
</shape>
</item>
</layer-list>
first_board_color_dot_default.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="oval" android:gravity="center">
<solid android:color="@color/first_board_color" />
<size
android:height="50dp"
android:width="50dp" />
</shape>
</item>
</layer-list>
これは私がボタンを設定する方法です
<ToggleButton
android:id="@+id/board_color_button1"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_marginRight="30dp"
android:text=""
android:textOn=""
android:textOff=""
android:background="@drawable/first_board_color_dot"
android:checked="true"
android:onClick="boardColorButtonClicked"/>
私は何が間違っているのか理解できません...