34

xml在可绘制文件夹 ( circle_status.xml) 中有以下内容来创建一个环:

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="15dp"
android:thickness="10dp"
android:useLevel="false">

<solid android:color="#ababf2" />

</shape>

并像 relativeLayout 的背景一样插入可绘制对象,如下所示:

<RelativeLayout
        android:id="@+id/RelativeLayout_Status"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/circle_status" >
    </RelativeLayout>

问题,是在 relativeLayout 中出现一个圆圈而不是一个环。

4

4 回答 4

33

请注意,环是没有填充的椭圆形。只是中风。而持有它的观点,应该是一个完美的正方形。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<stroke
    android:width="1dp"
    android:color="@color/blue" />
</shape>

和持有它的观点

<ImageView
     android:layout_width="10dp"
     android:layout_height="10dp"
     android:src="@drawable/ring" />
于 2015-07-07T15:14:15.413 回答
22

我自己回答。

似乎问题出在 Eclipse 的图形布局编辑器中,代码在真实设备中运行良好。

于 2013-06-21T07:45:40.503 回答
12

这个 hack 在设备和 Android Studio 上都显示了一个环:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring" android:innerRadius="23dp" android:thickness="0dp">
    <stroke android:width="2dp" android:color="#ababf2" />
</shape>
于 2015-02-18T11:01:18.413 回答
5

您必须在标签中使用<stroke>标签而不是<solid>标签作为环<shape><solid>在标签中使用<shape>标签会产生一个圆圈而不是一个环。

<solid>标签可用于戒指背景颜色和<stroke>戒指主体颜色。

于 2015-05-01T10:42:12.003 回答