Первый превью разработчиков Android O здесь!
В этой серии мы рассмотрим некоторые из перспективных функций пользовательского интерфейса, с которыми вы можете начать экспериментировать сегодня, через Android O Developer Preview.
В первом совете я показал вам, как настроить разработку для поддержки этого раннего предварительного просмотра O, и как создавать текст, который автоматически масштабируется и уменьшается в соответствии с текущей конфигурацией экрана. В этом совете мы рассмотрим, как Android O сделает работу с пользовательскими шрифтами без проблем.
Добавление пользовательских шрифтов в ваш проект
Вы когда-нибудь хотели выделить определенный фрагмент текста? Или, может быть, вы были уверены, что нестандартный шрифт будет идеальным способом добавить дополнительную индивидуальность в ваше приложение?
Хотя использование пользовательских шрифтов имеет много преимуществ, работа с ними в Android традиционно была болезненным процессом, требующим от вас использования библиотеки или создания собственного View
.
К счастью, работа с пользовательскими шрифтами в Android станет намного проще, поскольку пользовательские шрифты станут полностью поддерживаемым типом ресурса в Android O. Это означает, что добавить пользовательский шрифт в ваше приложение будет так же просто, как и добавить любой другой ресурс. такие как изображения и текст.
Чтобы следовать этому уроку, вам понадобятся файлы шрифтов, которые вы можете добавить в проект Android O, который мы создали в первой части .
Android O поддерживает форматы .otf (OpenType) и .ttf (TrueType). Существует множество сайтов, предлагающих такие шрифты бесплатно, поэтому потратьте несколько минут на поиск в Google, пока не найдете нужный вам шрифт.
Поскольку мы просто экспериментируем с новыми функциями Android O, не имеет особого значения, какой шрифт вы используете, но когда вы ищете шрифты для использования в рабочих выпусках вашего приложения, вы всегда должны проверять положения и условия этого шрифта. Тот факт, что ресурс можно загрузить бесплатно, не означает, что нет никаких ограничений на использование и распространение этого ресурса, поэтому всегда проверяйте мелкий шрифт!
Вы также должны учитывать цель, содержание и целевую аудиторию вашего приложения, так как разные шрифты передают разные сообщения. Если вы разрабатываете приложение, чтобы помочь людям заполнить свои налоговые декларации, ваша аудитория может с трудом воспринимать финансовые и юридические рекомендации вашего приложения, если оно написано странным и причудливым шрифтом!
Найдя шрифт, с которым вы хотите работать, скачайте и распакуйте его. На этом этапе вы должны проверить имя файла шрифта на наличие недопустимых символов — по сути, всего, что не является строчными az, 0-9 или подчеркиванием. Попробуйте добавить любые другие символы, и Android Studio выдаст ошибку, как только вы попытаетесь сослаться на этот ресурс.
Когда у вас есть файлы шрифтов, вам нужно где-то их хранить:
- Щелкните правой кнопкой мыши папку app / res вашего проекта и выберите « Создать»> «Каталог ресурсов Android» .
- Откройте выпадающее меню и выберите шрифт .
- Введите шрифт в качестве имени файла .
- Нажмите ОК .
-
Перетащите файлы шрифтов в новую папку res / font .
Использование ваших пользовательских шрифтов
Вы можете применить собственный шрифт к своему тексту, используя новый атрибут android:fontFamily
XML:
1
2
3
4
5
|
<TextView
android:text=»This is some text»
android:layout_width=»wrap_content»
android:layout_height=»wrap_content»
android:fontFamily=»@font/doublefeature»/>
|
Вы также можете добавить пользовательские шрифты для любых стилей, которые вы создали в своем приложении:
1
2
3
|
<style name=“headlineFont» parent=»@android:style/TextAppearance.Small»>
<item name=»android:fontFamily»>@font/doublefeature</item>
</style>
|
Если вы хотите использовать пользовательские шрифты программно, то вы можете извлечь собственный шрифт с помощью getFont(int)
, например:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.LinearLayout.LayoutParams;
import android.graphics.Typeface;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout linearLayout = new LinearLayout(this);
TextView ProgrammaticallyTextView = new TextView(this);
ProgrammaticallyTextView.setText(«This is some text»);
//Reference your custom font//
Typeface typeface = getResources().getFont(R.font.doublefeature);
ProgrammaticallyTextView.setTypeface(typeface);
linearLayout.addView(ProgrammaticallyTextView);
this.setContentView(linearLayout, new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
}
}
|
Создание семейства шрифтов
Иногда вы можете разархивировать папку шрифтов и обнаружить несколько версий одного и того же шрифта, например, выделенную курсивом версию или шрифты с разным весом и толщиной.
Если вы используете несколько версий одного и того же шрифта, вы можете сгруппировать их в семейство шрифтов. Семейство шрифтов — это, по сути, отдельный XML-файл, в котором вы определяете каждую версию шрифта вместе со связанными с ним атрибутами стиля и веса.
Чтобы создать семейство шрифтов:
- Убедитесь, что вы добавили все файлы шрифтов в папку res / font вашего проекта.
- Щелкните правой кнопкой мыши папку res / font вашего проекта и выберите « Создать»> «Файл ресурсов шрифта» .
- Дайте этому файлу имя и нажмите ОК .
- Откройте этот XML-файл и определите все различные версии этого шрифта вместе с их атрибутами стиля и веса, например:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
<?xml version=»1.0″ encoding=»utf-8″?>
http://schemas.android.com/apk/res/android»>
<font
android:fontStyle=»normal»
android:fontWeight=»400″
android:font=»@font/doublefeature_regular» />
<font
android:fontStyle=»italic»
android:fontWeight=»400″
android:font=»@font/doublefeature_italic» />
<font
android:fontStyle=»bold»
android:fontWeight=»400″
android:font=»@font/doublefeature_bold» />
</font-family>
|
Затем вы можете ссылаться на любой из шрифтов в этом семействе, используя атрибут android:fontFamily
. Например:
1
|
android:fontFamily=»@font/doublefeature_bold»
|
Не забудьте проверить!
В то время как легко увлечься новыми функциями, не переусердствуйте с пользовательскими шрифтами! Последовательные пользовательские интерфейсы легче ориентировать и понимать, и если ваше приложение постоянно переключается между шрифтами, ваши пользователи могут уделять больше внимания тому, как выглядит ваш текст, а не как он говорит .
Если вы включаете в свой проект пользовательские шрифты, важно проверить, как этот шрифт отображается в широком диапазоне различных конфигураций экрана, поскольку вашим главным приоритетом всегда должно быть обеспечение легкости чтения текста.
Вывод
В этом совете я показал вам, как создавать более стильный и уникальный текст, добавляя пользовательские шрифты в свои проекты. В последнем посте этой серии мы собираемся сместить акцент с текста на изображения, поскольку я покажу вам, как создавать адаптивные значки запуска, которые автоматически изменяют свою форму в соответствии с текущим устройством.
А пока посмотрите другие наши учебники по разработке приложений для Android!