Как рисовать с помощью шрифта 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 и т.д., но он все еще выглядит некрасиво.
Напротив, шрифт, используемый во всей остальной системе, выглядит очень красиво, и я хотел бы использовать его.
Как?:)
Ответы
Ответ 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.
Он должен дать вам стиль шрифта по умолчанию, если это то, что вам нужно.