在 java 中将负号置于屏幕中央
Center a minus on the screen in java
我正在尝试使用以下代码将减号居中显示在屏幕上:
text = "-";
textPosition = new Point();
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
paint.setTextAlign(Paint.Align.CENTER);
textPosition.x = (int) (myArea.left + myArea.width() / 2);
textPosition.y = (int) (myArea.top + myArea.height() / 2 + bounds.height() / 2);
canvas.drawText(text, textPosition.x, textPosition.y, paint);
当 "text" 是其他东西(例如加号)时,这段代码就像一个魅力,但在这种情况下,减号在屏幕上的位置太高了。
编辑:
这是四个不同运算符的结果。
而且...有趣的是,我创建了自己的字体来显示这些运算符。所以我知道,它应该正确居中。
PS: 现在我看,他们都好像有点不对劲,虽然减号是最差的...
好的,我修好了。不是通过更改代码,而是通过更改字体。我现在已将所有字符对齐到基线上,这似乎有效。
我正在尝试使用以下代码将减号居中显示在屏幕上:
text = "-";
textPosition = new Point();
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
paint.setTextAlign(Paint.Align.CENTER);
textPosition.x = (int) (myArea.left + myArea.width() / 2);
textPosition.y = (int) (myArea.top + myArea.height() / 2 + bounds.height() / 2);
canvas.drawText(text, textPosition.x, textPosition.y, paint);
当 "text" 是其他东西(例如加号)时,这段代码就像一个魅力,但在这种情况下,减号在屏幕上的位置太高了。
编辑: 这是四个不同运算符的结果。
而且...有趣的是,我创建了自己的字体来显示这些运算符。所以我知道,它应该正确居中。
PS: 现在我看,他们都好像有点不对劲,虽然减号是最差的...
好的,我修好了。不是通过更改代码,而是通过更改字体。我现在已将所有字符对齐到基线上,这似乎有效。