带边框的透明圆圈

Ani*_*udh 70 xml geometry android transparent

我试图在android中使用XML创建一个只有边框的圆圈:

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

<stroke android:width="1dp"
    android:color="#000000"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

我用过的代码在上面发布了.但是,我得到一个坚实的磁盘而不是一个戒指.我想使用XML而不是canvas来获取输出.我究竟做错了什么?

谢谢.

编辑: 感谢下面的答案让它工作.继承了我的最终代码:

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

    <solid android:color="@android:color/transparent" />

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

    <stroke android:width="1dp"
    android:color="#FFFFFF"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

sti*_*ike 163

尝试这样的事情

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadius="0dp"
    android:shape="ring"
    android:thicknessRatio="2"
    android:useLevel="false" >
    <solid android:color="@android:color/transparent" />

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

更新:android:thicknessRatio="2"完全循环(使用Nexus 5 - Lollipop)

  • 我把它设为`android:thicknessRatio ="2"`是一个闭环(Nexus 5,Lollipop) (7认同)

小智 30

使用它会起作用

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

<gradient
    android:centerX=".6"
    android:centerY=".40"
    android:endColor="@android:color/transparent"
    android:gradientRadius="20"
    android:startColor="@android:color/transparent"
    android:type="radial" />

<stroke
    android:width="1dp"
    android:color="#FFFFFF" />

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

</shape>
Run Code Online (Sandbox Code Playgroud)


Hit*_*ahu 11

空洞

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <stroke
            android:width="1dp"
            android:color="@color/indicator_unselected" />
    </shape>
Run Code Online (Sandbox Code Playgroud)

充分

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <corners android:radius="100dp" />
    <solid android:color="@android:color/white" />
</shape>
Run Code Online (Sandbox Code Playgroud)


Ale*_*rov 6

描边效果可以通过用所需颜色的描边(示例中的#000)绘制一个透明的椭圆来实现:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@android:color/transparent" />
    <stroke
        android:width="1dp"
        android:color="#000" />
    <size
        android:width="40dp"
        android:height="40dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)