如何在Canvas上获取文本输入?

9
我是一个新手,正在学习Android开发,遇到了一个非常烦人的问题。在我的程序中,我使用Android Canvas。我想添加一个EditText元素或类似的东西来获取用户的文本输入。你能帮我找到解决这个问题的方法吗?
谢谢回答。

1
我不确定这会不会回答你的问题,但是你可以创建一个RelativeLayout并在其中添加你的画布和一个EditText。 - yDelouis
1个回答

3

最初,您无法使用画布放置任何编辑文本或按钮。相反,您必须进行绘制。因此,请创建自定义布局,并使用画布绘制该布局。

尝试这个,它可能对您有所帮助。在onDraw(..)中:

   LinearLayout lL = new LinearLayout(context);

   EditText editTextView = new EditText(context); 

   editTextView.setVisibility(View.VISIBLE);
   lL.addView(editTextView);

    lL.measure(canvas.getWidth(), canvas.getHeight());
    lL.layout(0, 0, canvas.getWidth(), canvas.getHeight());

    // placing the edit text at specific co-ordinates:
    //canvas.translate(0, 0);
    layout.draw(canvas);

请看另一个例子:点击这里。它提供了一种添加视图的另一种方法。

谢谢你们的回答,对我非常有用。但是你们能告诉我如何使用editText的输入方法吗?我应该为它制作监听器,还是其他方式? - user1850215
你能否在不使用EditText的情况下插入内容?我也想做同样的事情。 - Tecnologia da Net

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接