Java 在视图上绘制简单文本
我一直在开发绘图应用程序,但我遇到了一些问题:用手指绘图的方法已经完成,但现在我需要做任何事情,允许用户在Java 在视图上绘制简单文本,java,android,android-view,Java,Android,Android View,我一直在开发绘图应用程序,但我遇到了一些问题:用手指绘图的方法已经完成,但现在我需要做任何事情,允许用户在视图上编写通用文本标签。请看我的代码: public class PainterView extends View implements DrawingListener { private Painter painter; private Bitmap bitmap; private Paint bitmapPaint; private Path path
视图
上编写通用文本标签。请看我的代码:
public class PainterView extends View implements DrawingListener {
private Painter painter;
private Bitmap bitmap;
private Paint bitmapPaint;
private Path path;
private Paint paint;
public PainterView(Context context, Painter painter) {
super(context);
this.painter=painter;
this.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
PainterView.this.painter.touchStart(x, y);
break;
case MotionEvent.ACTION_MOVE:
PainterView.this.painter.touchMove(x, y);
break;
case MotionEvent.ACTION_UP:
PainterView.this.painter.touchUp();
break;
}
return true;
}
});
this.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.e("event", "click");
}
});
this.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
Log.e("event", "long");
return true;
}
});
}
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
}
protected void onDraw(Canvas canvas) {
if (bitmap!=null) {
canvas.drawBitmap(bitmap, 0, 0, bitmapPaint);
canvas.drawPath(path, paint);
}
}
public void onPictureUpdate(Bitmap bitmap, Paint bitmapPaint, Path path, Paint paint) {
this.bitmap=bitmap;
this.bitmapPaint=bitmapPaint;
this.path=path;
this.paint=paint;
invalidate();
}
public void setPainter(Painter painter) {
this.painter=painter;
}
}
它是绘图的代码;绘图过程在Painter
类中进行。所以,现在我需要允许用户编写一个简单的文本。我想我可以通过长时间点击来实现——用户长时间点击,键盘打开,用户可以输入文本。但它不起作用!我在日志中没有看到任何字符串
请告诉我关于我的问题的建议或一些我如何实现我需要的想法 我很确定当您
返回true
时,OnTouchListener
正在使用触摸事件。尝试return super.onTouch(v,event)
当您return true
时,我确信onTouch侦听器
正在使用触摸事件。尝试返回super.onTouch(v,event)
OnTouchListener是接口,没有超级方法OnTouchListener是接口,没有超级方法