我正在try 使用下面的代码显示文本.

这是一张进一步显示我的问题的图片:

Screenshot

@Override
protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    //canvas.drawRGB(2, 2, 200);
    Paint textPaint = new Paint();
    textPaint.setARGB(200, 254, 0, 0);
    textPaint.setTextAlign(Align.CENTER);
    textPaint.setTypeface(font);
    textPaint.setTextSize(300);
    canvas.drawText("Hello", canvas.getWidth()/2, canvas.getHeight()/2  , textPaint);
}

推荐答案

try 以下操作:

 Paint textPaint = new Paint();
 textPaint.setTextAlign(Paint.Align.CENTER);

 int xPos = (canvas.getWidth() / 2);
 int yPos = (int) ((canvas.getHeight() / 2) - ((textPaint.descent() + textPaint.ascent()) / 2)) ; 
 //((textPaint.descent() + textPaint.ascent()) / 2) is the distance from the baseline to the center.

 canvas.drawText("Hello", xPos, yPos, textPaint);

Java相关问答推荐

Informix PrepareStatement引发错误-将LIMIT Clause添加到查询时,字符到数字的转换过程失败

'在使用apache poi生成Excel数据透视表时,行标签显示为第一列标题,并显示分类汇总

如何为具有多对多关系的实体的给定SQL查询构建JPA规范?

Java事件系统通用转换为有界通配符

JsonPath在多个线程中返回错误的值

JVM会优化这个数学运算吗?

如何打印本系列的第n项y=-(1)-(1+2)+(1+2+3)+(1+2+3+4)-(1+2+3+4+5)...Java中的(1+2+3+4...+n)

通过合并Akka Streams中的多个慢源保持订购

对某一Hyroby控制器禁用@cacheable

在Java Swing Paint应用程序中捕获快速鼠标移动时遇到困难

为什么我的在一个范围内寻找素数的程序不能像S所期望的那样工作

为什么在maven中,getLast方法不适用于List?

如何对多个字段进行分组和排序?

Dijkstra搜索算法的实现

将双倍转换为百分比

Spring Validator批注不起作用

Java Flux中的延迟增加

Java中的发布/订阅-Long Live和Short Live Publisher,哪种方法是正确的?

如何在Spring Boot Auth服务器上正确配置CORS?

[Guice/MissingImplementation]:未绑定任何实现