How do I draw a EditText to canvas in android?

2019-04-10 23:58发布

I would like to draw

EditText username = new EditText(context);

to a specific spot on my canvas in

protected void onDraw(Canvas canvas) {

}

Is it possible to draw it on the basis of x,y coordinate in my Java file without using XML layout?

2条回答
叛逆
2楼-- · 2019-04-11 00:14

Yes you can draw EditText on Canvas, Here is hint:

EditText ed;
.
.
.
.
.   
ed.setDrawingCacheEnabled(true);
Bitmap b = ed.getDrawingCache();
canvas.drawBitmap(bitmap, l, t, r, b, null);

You can create/initialize EditText at run time like this:

EditText editText = new EditText(this);
editText.setText("My Text");
editText.setWidth(180);         
editText.setBackgroundColor(Color.WHITE);
查看更多
祖国的老花朵
3楼-- · 2019-04-11 00:21

You can't draw an EditText to canvas in Android. That's not what Canvas is for.

What you can do is use a FrameLayout, put the Canvas inside of it, and put and EditText on top of the Canvas.

查看更多
登录 后发表回答