问题
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