Как нарисовать шрифтом Android по умолчанию на холсте? - PullRequest
12 голосов
/ 02 ноября 2010

Я пытаюсь нарисовать текст на холсте следующим образом (вроде псевдокода ниже):

Paint p = new Paint(ANTI_ALIAS_FLAG);
p.setTextSize(18);
...
mCanvas.drawText("Hello StackOverflow!", 50, 50, p);

Моя проблема в том, что результат выглядит действительно "странно". Он использует какой-то жирный шрифт, который плохо совмещен, выглядит не очень красиво и «квадратно».

Я пытался играть с p.setTextSize (), устанавливая различные размеры, также я пытался установить разные гарнитуры по умолчанию, используя p.setTypeface (гарнитура) и устанавливая DEFAULT, NORMAL, SERIF, SANS_SERIF и т. Д., Но все равно выглядит некрасиво.

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

Как? :)

1 Ответ

16 голосов
/ 24 августа 2011

Это будет псевдоним шрифта правильно:

p.setAntiAlias(true);

Если вы хотите изменить сам шрифт, используйте

p.setTypeface(yourTypeface);

с пользовательским объектом гарнитуры.

(взгляните на http://developer.android.com/reference/android/graphics/Typeface.html)

Вы можете использовать

Typeface.defaultFromStyle(int style);

вместе с одним из стилей текста здесь: http://developer.android.com/reference/android/R.style.html#TextAppearance.

Он должен дать вам стиль системного шрифта по умолчанию, если вы этого хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...