如何在 android 中创建弯曲的底部边框矩形?
How to create curved bottom border rectangle in android?
如何使用 xml 创建具有完美弧形底部的 android 可绘制对象,如下所示:
我试过这个xml,但结果并不完美
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#5f9c63"/>
<padding android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp" />
<corners android:bottomRightRadius="100dp"
android:bottomLeftRadius="100dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp"/>
</shape>
有什么想法吗?
谢谢
将您的角更改为:
<corners
android:radius="200dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp"
/>
会很圆润,可能不是你想要的程度。
我认为您正在寻找这样的东西:-
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="12"
android:viewportWidth="12">
<path
android:fillColor="@android:color/holo_red_light"
android:pathData="M 2,9 C 2,9 4,10 6,10 C 8,10 10,9 10,9 L 10,0 2,0 2,8"
android:strokeWidth="0.1"/>
</vector>
使用最新的 Android 矢量绘图,让您的绘图更强大,效果更佳。您可以逐个像素地管理绘图。
让我附上多个选项,这样您就可以清楚地了解矢量可绘制对象中的小变化可以做什么
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="12"
android:viewportWidth="12">
<path
android:fillColor="@android:color/holo_red_light"
android:pathData="M 2,9 C 2,9.5 4,10 6,10 C 8,10 10,9.5 10,9 L 10,0 2,0 2,8"
android:strokeWidth="0.1"/>
</vector>
在第二张图片中,您可以看到曲线通过更改小值变得更加圆润。如果你真的想了解 vector drawable,请参考 here,它将为你提供使用 vector drawable 的丰富经验。
您可以使用下面的 oval
形状。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="0dp"
android:left="-160dp"
android:right="-160dp"
android:top="-80dp">
<shape android:shape="oval">
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
</layer-list>
您可以更改 left
、right
、top
值以增加或减少曲线。
如何使用 xml 创建具有完美弧形底部的 android 可绘制对象,如下所示:
我试过这个xml,但结果并不完美
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#5f9c63"/>
<padding android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp" />
<corners android:bottomRightRadius="100dp"
android:bottomLeftRadius="100dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp"/>
</shape>
有什么想法吗?
谢谢
将您的角更改为:
<corners
android:radius="200dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp"
/>
会很圆润,可能不是你想要的程度。
我认为您正在寻找这样的东西:-
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="12"
android:viewportWidth="12">
<path
android:fillColor="@android:color/holo_red_light"
android:pathData="M 2,9 C 2,9 4,10 6,10 C 8,10 10,9 10,9 L 10,0 2,0 2,8"
android:strokeWidth="0.1"/>
</vector>
使用最新的 Android 矢量绘图,让您的绘图更强大,效果更佳。您可以逐个像素地管理绘图。
让我附上多个选项,这样您就可以清楚地了解矢量可绘制对象中的小变化可以做什么
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportHeight="12"
android:viewportWidth="12">
<path
android:fillColor="@android:color/holo_red_light"
android:pathData="M 2,9 C 2,9.5 4,10 6,10 C 8,10 10,9.5 10,9 L 10,0 2,0 2,8"
android:strokeWidth="0.1"/>
</vector>
在第二张图片中,您可以看到曲线通过更改小值变得更加圆润。如果你真的想了解 vector drawable,请参考 here,它将为你提供使用 vector drawable 的丰富经验。
您可以使用下面的 oval
形状。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="0dp"
android:left="-160dp"
android:right="-160dp"
android:top="-80dp">
<shape android:shape="oval">
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
</layer-list>
您可以更改 left
、right
、top
值以增加或减少曲线。