如何在形状xml中的笔划两侧制作圆角
Posted
技术标签:
【中文标题】如何在形状xml中的笔划两侧制作圆角【英文标题】:How to make round corner in both sides of stroke in shape xml 【发布时间】:2018-08-09 11:15:08 【问题描述】:我试图创建一个像这样的形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="0.5dp"></corners>
<stroke
android:
android:color="@color/mycolor"/>
<solid android:color="@color/transparent"></solid>
</shape>
这是我得到的:
我可以把内角做成圆形作为外边框(现在是正方形)吗?
【问题讨论】:
【参考方案1】:您的代码进行了一些更改,您的输出已准备就绪:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="30dp"></corners> <!-- change this -->
<stroke
android:
android:color="@color/black"/>
</shape>
输出:
【讨论】:
你是对的。我发现我需要使角大于笔划。【参考方案2】:试试这个
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke
android:
android:color="#000000" />
<corners android:radius="40dp" />
</shape>
</item>
</layer-list>
输出:-
【讨论】:
【参考方案3】:试试这个, abc.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="-10dp"
android:left="-10dp"
android:right="-10dp"
android:top="-10dp">
<shape android:shape="rectangle">
<stroke
android:
android:color="#ffffff" />
<corners android:radius="20dp" />
</shape>
</item>
</layer-list>
layout.xml
android:background="@drawable/abc"
【讨论】:
以上是关于如何在形状xml中的笔划两侧制作圆角的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Canvas 中制作药丸形状? (基本上是圆角矩形)