如何通过给出 Canvas 中的 x,y 位置来在 Canvas 上绘制 View 。
例如,
我有自定义 View myView,它是通过膨胀我的一个layout.xml 文件而创建的。
现在我想在 Canvas 上的 (x, y) 位置绘制这个 myView。
我怎样才能做到这一点?
请帮忙提出你的想法。
谢谢,
森
更新:
更具体地说,
我有
myView extend view {
...
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
{ Inside which i will draw a curve }
然后我将获得沿路径的 8 组坐标并将其存储在一个列表中。
然后我使用绝对布局创建了一个新 View ,其名称是 myinfo.xml(其中包含两个 TextView ),位于 res/layouts 文件夹中。
现在我想在 onDraw 方法中膨胀这个 View ,并将它们放置在上面收集的坐标中。
但是我尝试膨胀此类(myView)中的 View ,但它不起作用。
请告诉我哪里错了?
如果您有其他建议,请告诉我。
感谢和问候,
森
最佳答案
调用save()
在 Canvas 上保存属性。然后您可以执行任何您喜欢的操作,例如调用clipRect(float left, float top, float right, float bottom)剪切 View 区域,然后将其绘制在 Canvas 上。
完成后,请调用 restoreToCount(int saveCount)
使用之前 save() 命令返回的整数来恢复 Canvas 的属性。 :-)
关于android - 如何通过给出 x , y 位置在 Canvas 上绘制 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3819332/