android中的戒指形状

sua*_*ido 32 android android-xml android-drawable android-shape

xml在drawable文件夹(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>
Run Code Online (Sandbox Code Playgroud)

并插入drawable像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>
Run Code Online (Sandbox Code Playgroud)

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

Rei*_*erd 26

请注意,戒指是没有填充的椭圆形.只是中风.持有它的观点,应该是一个完美的广场.

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

<stroke
    android:width="1dp"
    android:color="@color/blue" />
</shape>
Run Code Online (Sandbox Code Playgroud)

持有它的观点

<ImageView
     android:layout_width="10dp"
     android:layout_height="10dp"
     android:src="@drawable/ring" />
Run Code Online (Sandbox Code Playgroud)

  • "一个圆环是一个没有填充的椭圆形,只是一个笔划"正是我需要知道的(以及开发人员文档中没有明确说明的内容). (5认同)

sua*_*ido 22

我回答自己.

似乎问题出在Eclipse的Graphical Layout Editor中,代码在真实设备中运行良好.


sno*_*per 9

此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>
Run Code Online (Sandbox Code Playgroud)

  • 使用android:useLevel ="false"或在API级别<20时你会变得一团糟 (7认同)

Bah*_*man 5

您必须<stroke><solid>标记中使用标记而不是标记来标记环<shape>.使用<solid>的标签<shape>标签一个圆不是环.

<solid>标签可用于环形背景颜色和<stroke>环体颜色.