【问题标题】:How do i draw these kinds custom shape?我如何绘制这些自定义形状?
【发布时间】:2019-12-17 23:30:42
【问题描述】:
【问题讨论】:
标签:
android
android-view
android-design-library
android-shape
【解决方案1】:
使用以下代码创建此自定义形状 bg_top_corners_round.xml 并将其保存在您的可绘制对象中:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners android:topLeftRadius="16dp" android:topRightRadius="16dp" />
</shape>
然后在您的任何布局 XML 文件中使用此可绘制对象,在 CardView/TextView/ImageView 中,如下所示:
android:src="@drawable/bg_top_corners_round"
【解决方案2】:
PNG 图像适用于应用程序,但是,您可以在应用程序中使用的另一个选项是,您可以使用 webp 类型的图像而不是 png,它的大小非常小,因此有助于减小 apk 文件的大小应用。
在 android studio 中,您可以将 png 图像转换为 webp 图像。您可以做的另一件最好的事情是将 png 转换为相关的矢量图形 (SVG),然后将该 SVG 导入为可绘制对象。与 png 和 webp 图像一样,您不需要根据设备密度添加图像,但它会自动维护,这意味着当需要图像时,它将根据设备密度进行绘制。
许多网站都可以帮助将 png 转换为 SVG,但我更喜欢 https://www.vectorizer.io/