嗨,大家:我正在写一个从textview继承的课,并覆盖其 onDraw() 方法,但是在方法中,我的调用 canvas.drawText() 似乎不起作用,代码如下:

protected void onDraw(Canvas canvas) {
    // super.onDraw(canvas);
    Paint paint = new Paint();
    paint.setColor(android.graphics.Color.WHITE);
    paint.setTextSize(20);

    String text = "hello";
    canvas.drawText(text, 0, 0, paint);
}
有帮助吗?

解决方案

它没有绘制任何内容,因为文本坐标为左下。由于您试图绘制0,0,因此它将绘制在屏幕上方。

尝试将最后一行更改为:

canvas.drawText(text, 0, 20, paint);

其他提示

到处都是好建议,很棒的人。下次,如果您在评论中问那个家伙,或者他是否在将其发布为答案之前,这将是很好的。您是否真的认为他到达了一个不起作用的地步,他只是直接堆叠溢出而没有实验?

我确实有一个替代建议,这足够疯狂地基于整个问题,而不仅仅是没有太多实际知识可以回答的部分。

我建议您在不在文本视图子类中的画布上尝试您的绘制文字调用,因为这样的方式不会被管理为绘制状态的文本视图中的几百行代码所覆盖。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top