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

Я пытаюсь нарисовать текст на холсте, как это (kinda pseudocode ниже):

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 и т. Д., Но он по-прежнему выглядит уродливым.

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

Как? 🙂

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

 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 .

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

Intereting Posts
Поиск по запросу не будет закрыт после поиска Отправлять сообщения FCM с серверной части на устройство Android Активность просочилась IntentReceiver, которая была первоначально зарегистрирована здесь. Вам не хватает приглашения на unregisterReceiver ()? Ошибка = TooManyMessages GCM Конфигурация виртуального устройства Android для 7-дюймового планшета в Android SDK 2.3.3 GridView: получить представление по позиции Двухцветная горизонтальная линия в Android Сепаратор / разделитель разделов Lollipop RequestFocus пропустить следующий EditText Обнаружение изменений состояния сети Android требует времени Как сгенерировать тот же ключ AES в Java (Android), что и в .Net? Почему мой класс BaseAdapter не увеличивает позицию в getView? Максимальный лимит для элементов в приложении для выставления счетов / покупки в приложении Facebook SDK 4.7.0 журналы ClassNotFoundException для AppEventsLogger Как программно удалить поведение макета моего NestedScrollView?