在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中的屏幕上居中一个减号的主要内容,如果未能解决你的问题,请参考以下文章

在每个浏览器的屏幕上居中 div

如何在 C# 中将窗口居中显示在屏幕上?

在屏幕上居中 Swift 弹出窗口

使用jQuery在屏幕上居中一个DIV

如何在所有屏幕尺寸的网页上居中图像

如何在没有(减号)滚动条的情况下获得屏幕宽度?