Починаючи з Android-Studio 3.0, його дуже легко змінити сімейство шрифтів
Використовуючи бібліотеку підтримки 26, вона працюватиме на пристроях, на яких працює Android API версії 16 та новішої
Створіть папку font
під res
каталогом. Завантажте шрифт, який хочете, і вставте його всередину font
папки. Структура повинна бути якоюсь річчю, як нижче
Примітка. Як і в бібліотеці підтримки Android 26.0, ви повинні оголосити обидва набори атрибутів (android: і app:), щоб забезпечити завантаження шрифтів на пристроях, на яких працює Api 26 або новішої версії.
Тепер ви можете змінити шрифт у макеті, використовуючи
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/dancing_script"
app:fontFamily="@font/dancing_script"/>
Для того, щоб змінити Programatically
Typeface typeface = getResources().getFont(R.font.myfont);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);
textView.setTypeface(typeface);
Для зміни шрифту за допомогою styles.xml створіть стиль
<style name="Regular">
<item name="android:fontFamily">@font/dancing_script</item>
<item name="fontFamily">@font/dancing_script</item>
<item name="android:textStyle">normal</item>
</style>
і застосувати цей стиль до TextView
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Regular"/>
ви також можете створити власну сімейство шрифтів
- Клацніть правою кнопкою миші папку шрифту та перейдіть до пункту «Новий»> «Файл ресурсів шрифту» . З'явиться вікно Новий файл ресурсу.
- Введіть ім'я файлу та натисніть кнопку ОК . У редакторі відкриється новий ресурс шрифту XML.
Наприклад, напишіть тут власну сім'ю шрифтів
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/lobster_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/lobster_italic" />
</font-family>
це просто відображення конкретного fontStyle та fontWeight до ресурсу шрифту, який буде використаний для візуалізації цього конкретного варіанту. Дійсні значення для fontStyle є нормальними або курсивними; та fontWeight відповідає специфікації ваги шрифту CSS
1. Щоб змінити шрифт в макеті, ви можете написати
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lobster"/>
2. Програмно змінити
Typeface typeface = getResources().getFont(R.font.lobster);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.lobster);
textView.setTypeface(typeface);
Щоб змінити шрифт цілого додатка, додайте ці два рядки в AppTheme
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:fontFamily">@font/your_font</item>
<item name="fontFamily">@font/your_font</item>
</style>
Для отримання додаткової інформації див. Документацію , Навчальний посібник для спеціальних шрифтів Android