Android 仅具有外部笔划的形状
它给出了一个半内半外的冲程。 我只需要外部半透明的笔划。能做到吗 我所拥有的是 我需要的是Android 仅具有外部笔划的形状,android,android-layout,Android,Android Layout,它给出了一个半内半外的冲程。 我只需要外部半透明的笔划。能做到吗 我所拥有的是 我需要的是 谢谢将您的代码更新为: <?xml version="1.0" encoding="utf-8"?> <shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android" >
谢谢将您的代码更新为:
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<solid android:color="#ffffff"/>
<stroke android:width="30dp"
android:color="#51000000"
/>
</shape>
您的第一个颜色缺少一个f。因此,它创建了一个半可见的模式
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#ffffff" />
<stroke
android:width="30dp"
android:color="#000000" /> <--- this line you have to change
</shape>
如果为笔划颜色添加alpha,则内半部不透明,外半部透明。这就是笔划颜色的工作方式。如果不希望内半部使用不带alpha的颜色并调整六角编码。您可以将使用图层列表创建的形状与其项目一起检查
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<solid android:color="#fffffff"/>
<stroke android:width="30dp"
android:color="#51000000"
/>
</shape>
尝试为形状属性添加android:innerRadius=0dp-
这是Android studio XML预览错误。看起来像上面从Android studio XML预览中显示的图像。实际上没有内层和外层。除了以下内容之外,我没有其他方法可以做到这一点:
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
>
<solid android:color="#ffffff"/>
<stroke android:width="4dp"
android:color="#51000000"
/>
</shape>
试试这个:改变尺寸和颜色来满足你的需要
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="oval">
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/stroke_width"
android:color="#33000000" />
</shape>
</item>
<item >
<shape android:shape="oval" >
<solid android:color="#fff" />
<stroke
android:width="@dimen/stroke_width"
android:color="@android:color/transparent">
</stroke>
</shape>
</item>
</layer-list>
更改输出颜色不是OP想要的!这条线你必须改变-不。我需要一个半透明的笔划。你能提供一个从哪里得到的参考吗?内半部分没有透明,外半部分是透明的-你能看到附加的图像吗?两个半部分都是透明的。另外,你能提供一个标记吗,plz?它只给出一个内部没有纯白色的环。你能添加你想要的图像吗?它给出内部笔划,而不是外部笔划。只需更改颜色,没有内部和外部笔划。将颜色更改为8000000,然后检查。没有任何更改。结果完全一样。什么api级别?我现在没有真正的设备。但是,模拟器显示的结果与预览完全相同。因此,很可能在真实设备上的结果也是一样的。这只是一个屏幕截图。请显示相应的标记。请检查这个答案:它真的适合我。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="oval">
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/stroke_width"
android:color="#33000000" />
</shape>
</item>
<item >
<shape android:shape="oval" >
<solid android:color="#fff" />
<stroke
android:width="@dimen/stroke_width"
android:color="@android:color/transparent">
</stroke>
</shape>
</item>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<stroke android:width="@dimen/default_stroke_size_small" android:color="@color/colorDimBlack"/>
</shape>
</item>
<item>
<shape android:shape="oval">
<stroke android:width="@dimen/default_stroke_size_small" android:color="@android:color/transparent"/>
<solid android:color="@color/colorWhite"/>
</shape>
</item>
</layer-list>