gpt4 book ai didi

java - 在 View 上绘制简单文本

转载 作者:行者123 更新时间:2023-11-29 09:13:25 24 4
gpt4 key购买 nike

我一直在开发绘图应用程序,但我遇到了一些问题:用手指绘图的方法已经完成,但现在我需要做任何允许用户在 上写通用文本标签的东西查看。所以,请看我的代码:

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 类中。所以,现在我需要允许用户写一个简单的文本。我认为我可以使用长按来完成 - 用户长按,键盘打开,用户可以输入文本。但它不起作用!我在日志中没有看到任何字符串。

请告诉我有关我的问题的建议,或者告诉我如何实现我的需要的一些想法。

最佳答案

我非常确定当您返回 trueOnTouchListener 正在使用触摸事件。尝试 return super.onTouch(v, event)

关于java - 在 View 上绘制简单文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11050793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com