Как нарисовать 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.