简体   繁体   English

如何在Android中绘制EditText到画布?

[英]How do I draw a EditText to canvas in android?

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? 是否可以在我的Java文件中基于x,y坐标绘制它而不使用XML布局?

Yes you can draw EditText on Canvas , Here is hint: 是的你可以在Canvas上绘制EditText ,这里有提示:

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 editText = new EditText(this);
editText.setText("My Text");
editText.setWidth(180);         
editText.setBackgroundColor(Color.WHITE);

You can't draw an EditText to canvas in Android. 您无法在Android中将EditText绘制到画布。 That's not what Canvas is for. 这不是Canvas的用途。

What you can do is use a FrameLayout, put the Canvas inside of it, and put and EditText on top of the Canvas. 你可以做的是使用FrameLayout,将Canvas放在其中,然后将EditText放在Canvas的顶部。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM