Шрифты Android Monospace не имеют фиксированной шириныAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Шрифты Android Monospace не имеют фиксированной ширины

Сообщение Anonymous »

Я пишу собственный вид для таймера, но не могу получить шрифт правильной фиксированной ширины для чисел в середине. Вот соответствующий код (из двух разных методов):

Код: Выделить всё

mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
mTextPaint.setTypeface(Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL));

// Get rectangle that is the size of the text
mTextPaint.getTextBounds(
getTimeText(),
0,
getTimeText().length(),
mTextBounds);

// X and Y coordinates of text
float mTextPosX = (width / 2) - (mTextBounds.width() / 2);
float mTextPosY = (height / 2) + (mTextBounds.height() / 2);

// Draw text
canvas.drawText(
getTimeText(),
mTextPosX,
mTextPosY,
mTextPaint);
Кажется, это работает нормально, но всякий раз, когда одно из чисел меняется на 1, эта 1 занимает меньше места, и весь фрагмент текста немного перемещается. Очевидно, этого не должно происходить, поскольку я использую моноширинный шрифт. Может ли кто-нибудь пролить свет на то, как я могу это исправить?

Подробнее здесь: https://stackoverflow.com/questions/170 ... ixed-width
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»