xml drawable没有在android中正确绘制

时间:2015-02-21 21:21:38

标签: android xml android-drawable

我想在android中使用drawable xml资源绘制一个非veg图标。我使用的是Android Studio 1.1.0

我的Android工作室正在完美展示预览。但它并没有在我的设备中正确显示。请帮帮我。

这就是我想要的

what I want

以下是我

的内容

Android 5.0.0 Android 5.0.0

Android 4.4.4 Android 4.4.4

Android 4.3 enter image description here

这是xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape
            android:shape="rectangle"
            android:thickness="2dp">
            <size
                android:width="24dp"
                android:height="24dp" />
            <stroke
                android:width="2dip"
                android:color="@android:color/holo_red_dark" />
            <corners
                android:bottomLeftRadius="2dp"
                android:bottomRightRadius="2dp"
                android:topLeftRadius="2dp"
                android:topRightRadius="2dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="ring" android:thicknessRatio="-1">
            <padding
                android:bottom="15dp"
                android:left="15dp"
                android:right="15dp"
                android:top="15dp" />

            <size
                android:width="4dp"
                android:height="4dp" />
            <solid android:color="@android:color/holo_red_dark" />
        </shape>

    </item>
</layer-list>

1 个答案:

答案 0 :(得分:0)

使用椭圆形作为第二个项目,而不是戒指。不要在第二个项目上指定大小或填充,它将被缩放到第一个项目的大小,而是使用项目标记上的偏移。不要在矩形上指定厚度,它不会执行任何操作,因为它是一个仅限环的属性。

下面修改的xml大致给出了您正在寻找的形状。调整尺寸以微调外观。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape android:shape="rectangle" >
            <size
                android:height="24dp"
                android:width="24dp" />

            <stroke
                android:width="2dp"
                android:color="@android:color/holo_red_dark" />

            <corners
                android:bottomLeftRadius="2dp"
                android:bottomRightRadius="2dp"
                android:topLeftRadius="2dp"
                android:topRightRadius="2dp" />
        </shape>
    </item>
    <item
        android:bottom="4dp"
        android:left="4dp"
        android:right="4dp"
        android:top="4dp">
        <shape android:shape="oval" >
            <solid android:color="@android:color/holo_red_dark" />
        </shape>
    </item>

</layer-list>