嗨,
我正在尝试理解如何在Android上制作自定义视图(带有绿色背景),如附件中的图像所示。请建议,我应该将Path用于此操作还是其他操作?

发布于 2016-01-27 00:48:19
http://tips.androidhive.info/2013/09/android-layout-rounded-corner-border/是一个很好的起点。然后,您可以使用属性值来获得所需的背景。希望这能有所帮助。
发布于 2016-01-27 01:52:50
您有两个很好的选择来实现这一点。
位图
创建所需的图像在Photoshop,Gimp或类似的东西。将其导出为png文件,然后将其作为bitmap resource导入到您的安卓应用程序中。
到目前为止,这是两种方法中更简单、更快的一种,但这里有两个重要的问题。首先,你应该使用supply bitmaps for each screen density bucket。其次,您添加的每个位图资源都会增加应用程序的安装大小。这可能很快就会失控。
路径
正如您在问题中提到的,您可以使用Path直接在画布上绘制所需的形状。更具体地说,您将使用cubicTo()方法来创建贝塞尔曲线。
我建议使用图像编辑器的“路径”工具来了解控制点是如何影响曲线的。一旦你在图像编辑器中绘制了形状,写下路径上每个点的坐标以及相应的控制点。然后做一些数学运算,将这些点转换为图像整体宽度和高度的比率。
您可以在应用程序中将形状实现为View或Drawable。在这两种情况下,您都将绘制到一个Canvas。重要的一步是通过将比例与绘图区域的大小相乘来设置路径。在您绘制了奇特的边缘之后,请确保使用lineTo()绘制直线边缘,并使用close()关闭形状。
https://stackoverflow.com/questions/35018942
复制相似问题