How do I draw a EditText to canvas in android?

做~自己de王妃 提交于 2019-12-06 07:54:56

问题


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?


回答1:


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);



回答2:


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.



来源:https://stackoverflow.com/questions/18621276/how-do-i-draw-a-edittext-to-canvas-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!