我希望能够在画布上点击后放置编辑文本。我想获取用户输入并将其设置为画布上的编辑文本。
以下是我的代码:
@Override
protected void onDraw(Canvas canvas) {
for (Point point : points) {
LinearLayout lL = new LinearLayout(getContext());
EditText editTextView = new EditText(getContext());
editTextView.setFocusableInTouchMode(true);
editTextView.setFocusable(false);
editTextView.setClickable(true);
editTextView.setText("sadsdadadadadsadasds");
editTextView.setVisibility(View.VISIBLE);
lL.addView(editTextView);
lL.setDrawingCacheEnabled(true);
lL.measure(canvas.getWidth(), canvas.getHeight());
lL.layout(0, 0, canvas.getWidth(), canvas.getHeight());
canvas.drawBitmap(lL.getDrawingCache(), point.x, point.y, mPaint);
// canvas.drawText("(0,0)", point.x, point.y, mPaint);
// Log.d(TAG, "Painting: "+point);
}
}
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
InputMethodManager inputMethodManager;
TextView tv1=new TextView(getContext());
LinearLayout lL = new LinearLayout(getContext());
// return super.onTouchEvent(event);
Point point = new Point();
point.x = (int) event.getX();
point.y = (int) event.getY();
points.add(point);
invalidate();
return true;
}
错误:
问题在于EditText被放置在画布上,但无法点击。
et.setVisibility(View.VISIBLE)
。 - Ahmad Dwaik 'Warlock'