2016-09-17 5 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); 

Этот код работает как шарм, когда «текст» что-то другое (например, знак плюса), но в этом случае знак минуса расположен слишком высоко на экране.

EDIT: Вот результат для четырех разных операторов.

Operators, each centered in their own screen area

И ... самое смешное, что я создал свой собственный шрифт для отображения этих операторов. Поэтому я знаю, что он должен быть правильно ориентирован.

PS: Теперь, когда я смотрю на это, все от них, кажется, немного не, хотя минус знак является худшим ...

+0

Не могли бы вы предоставить нам текущий экран и ожидаемый? –

+0

Я не уверен, что помогает совместное использование экрана. Дело в том, что минус не центрирован по вертикали. Кстати, в случае «_» он центрируется правильно. То, что я хочу, - это небольшая коробка с «-» в центре ее. – MWB

+0

@NikolasCharalambidis: Я обновил описание и включил скриншот. Надежда (или кто-то еще) вы можете помочь! – MWB

ответ

0

Хорошо, я установил ее. Не путем изменения кода, а путем изменения шрифта. Я теперь выровнял всех символов на базовой линии и, похоже, работает.

 Смежные вопросы

  • Нет связанных вопросов^_^