在java中的屏幕上居中一个减号
Posted
技术标签:
【中文标题】在java中的屏幕上居中一个减号【英文标题】:Center a minus on the screen in java 【发布时间】:2017-01-25 15:44:15 【问题描述】:我正在尝试使用以下代码在屏幕上将减号居中:
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);
当“文本”是其他东西(例如加号)时,这段代码就像一个魅力,但在这种情况下,减号在屏幕上的位置太高了。
编辑: 这是四个不同运算符的结果。
而且...有趣的是,我创建了自己的字体来显示这些运算符。所以我知道,它应该正确居中。
PS:现在我看,它们似乎都有点偏离,虽然减号是最糟糕的......
【问题讨论】:
您能否向我们提供当前屏幕和预期屏幕? 我不确定屏幕共享是否有帮助。问题是,减号不是垂直居中的。顺便说一句,在“_”的情况下,它会正确居中。我想要的是一个漂亮的小盒子,中间有一个“-”。 @NikolasCharalambidis:我更新了描述并附上了截图。希望(或其他人)您能提供帮助! 【参考方案1】:好的,我修好了。不是通过更改代码,而是通过更改字体。我现在已经在基线上对齐了所有字符,这似乎有效。
【讨论】:
以上是关于在java中的屏幕上居中一个减号的主要内容,如果未能解决你的问题,请参考以下文章