为什么内圈填满了外圈?

时间:2016-07-30 09:28:59

标签: android xml radio-button xml-drawable

我正试图在Android中使用xml在一个大光圈内制作一个小黑圈。两个圆圈都有颜色,大小和笔划。为什么小黑圈填满50 dp而不是28dp?

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--big light circle-->
    <item>
        <shape android:shape="oval">
            <solid android:color="#EEEEEE" />

            <size
                android:width="50dp"
                android:height="50dp" />

            <stroke
                android:width="2dp"
                android:color="#404040" />
        </shape>
    </item>
    <!--small dark circle-->
    <item>
        <shape android:shape="oval">
            <solid android:color="#AEAEAE" />

            <size
                android:width="28dp"
                android:height="28dp" />

            <stroke
                android:width="1dp"
                android:color="#464646" />
        </shape>
    </item>
</layer-list>

drawable的用法:

   <RadioButton
        android:id="@+id/radioButtonPositive"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:button="@android:color/transparent"
        android:drawableTop="@drawable/ic_choice_background"
        android:gravity="center"
        android:onClick="onRadioButtonClicked"
        android:layout_marginRight="110dp"/>

xml会生成Wrong xml但我希望它生成enter image description here (外圈尺寸相同,此截图无法正确显示)

1 个答案:

答案 0 :(得分:1)

更改为

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--big light circle-->
<item>
    <shape android:shape="oval">
        <solid android:color="#EEEEEE" />

        <size
            android:width="50dp"
            android:height="50dp" />

        <stroke
            android:width="2dp"
            android:color="#404040" />
    </shape>
</item>
<!--small dark circle-->
<item android:bottom="11dp"
    android:left="11dp"
    android:right="11dp"
    android:top="11dp">
    <shape android:shape="oval">
        <solid android:color="#AEAEAE" />

        <stroke
            android:width="1dp"
            android:color="#464646" />
    </shape>
</item>