2016-09-17 85 views
0

我尝试使用下面的代码居中屏幕上的减号在屏幕上减:中心在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); 

此代码的工作就像一个魅力时,“文本”是别的东西(例如一个加号),但在这种情况下,负号在屏幕上定位得太高。

编辑: 下面是四个不同的运营商的结果。

Operators, each centered in their own screen area

而且......有趣的是,我创造了我自己的字体来显示这些操作符。所以我知道,它应该正确居中。

PS:现在,我看它,全部关闭他们似乎有点过,但减号是最差的......

+0

你能提供给我们当前的屏幕和预期的屏幕吗? –

+0

我不确定屏幕共享是否有帮助。事情是,减号不是垂直居中。顺便说一句,在“_”的情况下,它会正确居中。我想要的是一个漂亮的小盒子,它的中心有一个“ - ”。 – MWB

+0

@NikolasCharalambidis:我已经更新了描述并包含了屏幕截图。希望(或其他人)你可以帮忙! – MWB

回答

0

好吧,我固定它。不是通过更改代码,而是通过更改字体。我现在已经对齐了基线上的所有字符,并且似乎可行。