Подтвердить что ты не робот

Как рисовать с помощью шрифта Android по умолчанию на холсте?

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

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

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

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

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

Как?:)

4b9b3361

Ответ 1

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

p.setAntiAlias(true);

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

p.setTypeface(yourTypeface);

с пользовательским объектом Typeface.

(посмотрите http://developer.android.com/reference/android/graphics/Typeface.html)

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

Typeface.defaultFromStyle(int style);

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

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