Как нарисовать EditText на холсте в Android?

Я хотел бы нарисовать

EditText username = new EditText(context);

в конкретное место на моем холсте в

protected void onDraw(Canvas canvas) {

}

Можно ли нарисовать его на основе x,y координаты в моем файле Java без использования макета XML?

2 ответа

Решение

Да, вы можете нарисовать EditText на CanvasВот подсказка:

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

Вы можете создать / инициализировать EditText во время выполнения, как это:

EditText editText = new EditText(this);
editText.setText("My Text");
editText.setWidth(180);         
editText.setBackgroundColor(Color.WHITE);

Вы не можете нарисовать EditText на холсте в Android. Это не то, для чего Canvas.

Что вы можете сделать, это использовать FrameLayout, поместить Canvas внутри него и поместить и EditText поверх Canvas.

Другие вопросы по тегам