3

在我的应用程序中,我需要显示如下所示的切换按钮(这个用于检查状态)http://s58.radikal.ru/i159/1308/dc/e3cb45e9a71f.jpg,深色是父视图背景。它必须只是一个大小为 50x50 的彩色圆圈,但对于选中状态,它必须包括外面的蓝色边框。整个按钮必须始终为 70x70,因此它有足够的边框空间。我想我必须为默认状态使用简单的可绘制形状,为选中状态使用可绘制的图层列表,但它对我不起作用,它只是创建了某种拉伸的椭圆并且没有任何边框(就像这个http://s019.radikal .ru/i619/1308/50/0f02f9ab2ea4.jpg)。这是我用于 ToggleButton 背景的代码:

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

我无法理解我做错了什么......

4

0 回答 0