如何在具有许多绘图形状的自定义视图上创建边框

时间:2014-01-12 06:29:09

标签: android android-custom-view

我想将边框应用于此自定义视图形状 enter image description here

canvas.draw...()

中的许多onDraw()创建

我想要创建并应用于我的自定义视图的边框应该具有相同的范围,距离自定义视图有一定距离,并且它还应该覆盖每个切片中的小圆圈。

知道如何制作这个吗? 感谢。

1 个答案:

答案 0 :(得分:1)

这不是一个答案,而是更多的建议。看看你可以使用的Porter-Duff模式。最糟糕的情况是,您可能需要对每个像素的图像操作进行一些操作,只要视图不是动画的,就应该没问题。

第二个想法,这里有一个想法:为什么不创建两个图像:一个大圆圈总是在所有东西后面绘制,另一个总是在小圆圈后面绘制。大圆圈只是你想要显示的完整边框,而小圆圈实际上只是一个半圆形边框,它将呈现在大圆圈的顶部(覆盖它下面的大圆圈边界)。然后,关键是根据它所在的位置旋转小边框圆。我认为嬉皮很有意义,但它应该起作用并且效率也很高。

另一种选择是将渲染分为白色圆圈和稍大的边框颜色圆圈。如果先渲染稍大(边框颜色)的圆圈,然后在顶部渲染法线圆圈(白色),则不必担心任何旋转,如果小的外圆圈开始重叠,它将正确渲染。 所以这个想法类似于第一个建议。你仍然需要一个大圆圈和一个小圆圈(都是白色),但另外,你需要稍微大一点的边框颜色大圆和小圆圈。

我希望这个描述更加清晰,但我认为你已经足够舒服地使用复合绘图来弄清楚剩下的部分了,因为你已经做到了这一点。

最好的实施,并随时要求任何澄清! :)