Question

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?

Was it helpful?

Solution

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top