Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > drawable под разные состояния с layer-list


Автор: anatox91 28.8.2013, 23:44
мне нужно сделать ToggleButton размером 70х70, внутри которого по центру будет зарисованный определенным цветом круг размером 50х50, при состоянии checked нужно вокруг этого круга еще рисовать тонкую рамочку, как показано здесь - http://s58.radikal.ru/i159/1308/dc/e3cb45e9a71f.jpg 
Вместо этого круг почему-то растягивается по высоте до 70dp, по ширине остается нормального размера, рамочки же никакой нет и в помине (http://s019.radikal.ru/i619/1308/50/0f02f9ab2ea4.jpg).
Ниже код, который используется для различных состояний. Самой кнопке бэкграунд устанавливаю так:

Код

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


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>


буду очень благодарен, если кто-нибудь подскажет в чем может быть проблема

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)