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