- Свой шрифт textview android
- Android и кастомные шрифты или «Да здравствует API 26»
- Как было раньше. Краткий обзор
- view.xml
- CustomFontTextView.class
- Но все изменилось в API 26
- Шрифты для Android
- Совет: Работаем со своими шрифтами в Android O
- Добавление ваших шрифтов в проект
- Использование своих шрифтов
- Создание семейства шрифта
- Не забудьте протестировать!
- Заключение
- установить шрифт во время выполнения, Textview
- 7 ответов
- чтобы установить встроенный шрифт во время выполнения:
- установить шрифт(ы) в приложении Android
- создать семейство шрифтов
Свой шрифт textview android
Давайте немного расширим наши знания в работе с текстом при создании Android приложения. Мы изучали способ отредактировать текст с помощью любимой и знакомой многим HTML верстки. Но в этом уроке мы применим к тексту самые настоящие шрифты, как это делается, например, в фотошоп.
Прежде всего, для того, чтоб использовать шрифты, их неплохо бы скачать:). Поэтому скачайте с Интернета несколько разных шрифтов (я буду использовать в уроке 3 вот таких, можете скачать их).
Создаем новый проект, выбираем обычный Blank Activity. Первым делом нужно создать для наших шрифтов специальную папку для их хранения. Создаем папку по имени assets, она должна находится на одном уровне с папкой res приложения, а внутри папки assets создаем папку fonts:
И в папку fonts помещаем наши шрифты.
Переходим к редактированию файла activity_main.xml. Здесь нам нужно создать 3 элемента TextView:
У нас получился следующий вид:
Теперь открываем файл MainActivity.java. Здесь мы создадим ссылки на наши шрифты в папке fonts, объявим объекты типа TextView и привяжем их к созданным нами элементам, а также объявим сами шрифты и применим их к нашим текстовым элементам. Полный код MainActivity.java выглядит так:
Запускаем приложение и смотрим на наш результат:
Источник
Android и кастомные шрифты или «Да здравствует API 26»
Как было раньше. Краткий обзор
Если было много view где требовались нестандартные шрифты, то мы использовали что-то вроде такого:
view.xml
CustomFontTextView.class
И это я пропустил огромный кусок который отвечает за то, чтобы не писать каждый раз путь к шрифту, а указывать
Ну, или шли на гитхаб и в результате находили Calligraphy (7000 звезд!)
Ни для кого не секрет что этот подход содержал много минусов как в огромном количестве boilerplate кода, так и в том, чтобы сделать это эффективно и где-нибудь не утечь по памяти запрашивая каждый раз Typeface.
Но все изменилось в API 26
Похоже, гугл наконец-то сдался и решил отказаться от навязывания Roboto и сделал удобное подключение сторонних шрифтов, за что ему огромное спасибо.
Линк для тех, кто любит читать в оригинале.
Теперь подключение состоит всего из нескольких несложных шагов:
1. Создаем папку font в res
Resource type выбираем font
2. Перетаскиваем в новую папку все нужные нам в проекте шрифты
3. Создаем файл для семейства шрифтов.
Обратите внимание: я сразу добавил в пример то как должен выглядеть файл, если вы хотите поддерживать и более старые версии Андроида. (Начиная с 14). Если вам повезло и у вас таргет только на супер-новые девайсы, то ваш файл сократится в 2 раза
Ну а дальше остается только наслаждаться сборкой
Использование в TextView
Используем в стилях
И у вас больше не болит голова об эффективности 🙂
Источник
Шрифты для Android
День добрый! В данной статье я хочу обсудить такой важный вопрос как шрифты в Android. Мы создадим свой TextView с возможностью добавлять шрифты в xml и визуально их отображать в превью. Так же решим одну важную проблему – использование шрифтов в списке, без глюков и напрягов для братьев наших меньших, наших Android-устройств.
Дальше я распишу как создать папку assets и добавлять свои шрифты, так что это можно пропустить.
Папка assets нужна для хранения самых разнообразных ресурсов в том числе и шрифтов. Создать ее можно либо вручную в корне main:
\app\src\main\assets
Либо более простым способом
Дальше файлы с форматом .ttf закидываем в assets либо в корень, либо создаем папку fonts, так как assets поддерживает вложенность.
Итак, теперь собственно обратимся к реализации использования шрифтов для TextView, в чистом виде выглядит приблизительно следующим образом:
Когда дело касается более чем пяти TextView, этот процесс начинает раздражать. Но раздражение — это не единственная проблема с которой встречается разработчик, использующий данную конструкцию. Дело в том, что сама обработка файла шрифта и превращение его в объект Typeface довольно трудоемкий процесс, следовательно, использование подобной конструкции в листе вызовет неимоверные глюки.
Данную задачу я предлагаю решить обычным сингтоном. И так создаем что-то похожее:
И устанавливаем шрифты используя синглтон, вот так:
Используя данную конструкцию мы решили вторую проблему, по поводу лагов в листе, но не первую, самую важную, вам все так же нужно находить все текстовые поля и на все снова и снова сетить шрифты, писать отдельные методы и терять нервные клетки. Еще одна проблема в том, что в привью — стандартный шрифт, следовательно ширину, высоту своего шрифта. вы можете увидеть только на живом девайсе или эмуляторе, это очень не удобно.
Введу выше указанных проблем мы сейчас напишем свой TextView с блэкджеком и шрифтами.
Первым делом создаем класс наследник обычного TextView с конструкторами:
Дальше создаём в папке values файл attrs.xml
и создаем файл с названием attrs.xml, после создания он должен выглядеть примерно следующим образом:
В нем создаем следующий блок кода:
Дальше возвращаемся в наш класс CustomFontsTextView и пишем вот такой метод:
Вот собственно и все. Теперь нужно перебилдить проект, чтобы у вас появились кастомные атрибуты. После этого отправляемся в xml файл нашей активити и пишем:
В привью мы увидим уже полностью готовые текстовые поля с нашими шрифтами.
Обращаться к нашим кастомным текстовым полям лучше как к обычному TextView, по стандартной форме:
Источник
Совет: Работаем со своими шрифтами в Android O
Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)
А вот и первая предварительная версия Android O!
В этой серии мы рассмотрим некоторые из современных функций пользовательского интерфейса, с которыми вы можете начать экспериментировать сегодня, в версии Android O для предварительного ознакомления разработчиками.
В первом совете я показал вам, как настроить свою разработку для поддержки этого раннего предварительного просмотра O, и как создать текст, который автоматически масштабируется в соответствии с текущей конфигурацией экрана. В этом совете мы увидим, как Android O сделает работу с пользовательскими шрифтами беззаботной.
Добавление ваших шрифтов в проект
Вы когда-нибудь хотели выделить отдельный фрагмент текста? Или, может быть, вы были убеждены, что ваш шрифт станет отличным способом добавить в ваше приложение дополнительную индивидуальность?
Хотя есть много преимуществ при использовании пользовательских шрифтов, работа с ними на Android традиционно была болезненным опытом, требуя, чтобы вы либо использовали библиотеку, либо создали пользовательский View .
К счастью, работа с пользовательскими шрифтами в Android будет намного проще, так как пользовательские шрифты станут полностью поддерживаемым типом ресурсов в Android O. Это означает, что добавление пользовательского шрифта в ваше приложение будет таким же простым, как добавление любого другого ресурса, например изображения и текста.
Чтобы следовать этому руководству, вам понадобятся несколько файлов шрифтов, которые вы можете добавить в проект с Android O, который мы создали в первой части.
Android O поддерживает оба формата: .otf (OpenType) и .ttf (TrueType). Существует множество веб-сайтов, предлагающих такие шрифты бесплатно, поэтому потратьте несколько минут на поиск в Google, пока не найдете нужный шрифт.
Поскольку мы просто экспериментируем с новыми функциями Android O, не имеет особого значения, какой шрифт вы используете, но если вы ищете шрифты для использования в релизах вашего приложения, вы всегда должны смотреть условия использования этого шрифта. Только потому, что файл доступен для загрузки, не означает автоматически, что нет ограничений на то, как вы можете использовать и обращаться с этим файлом, поэтому всегда читайте мелкий текст!
Вы также должны задуматься о цели, содержании и целевой аудитории вашего приложения, так как разные шрифты передают разные сообщения. Если вы разрабатываете приложение, помогающее людям заполнять их налоговые декларации, то ваша аудитория с трудом сможет серьезно отнестись к финансовым и юридическим советам в вашем приложении, если оно поставляется со непонятным и странным шрифтом!
Как только вы найдете шрифт, с которым хотите работать, загрузите и разархивируйте его. На этом этапе вы должны проверить имя файла шрифта на наличие недопустимых символов — по сути это, что угодно, что не входит в строчные a-z, 0-9 или символ подчеркивания. Попробуйте использовать любые другие символы и Android Studio выдаст ошибку, как только вы попытаетесь сослаться на этот ресурс.
Так как у вас есть файл(ы) шрифтов, вам надо будет где-то их хранить:
- Правый клик по папке app/res вашего проекта и выберите New > Android resource directory.
- Откройте выпадающее меню и выберите font.
- Введите font в File name.
- Нажмите OK.
- Убедитесь, что вы добавили все файлы шрифта в папку res/font вашего проекта.
- Щелкните правой кнопкой мыши по папке res/font вашего проекта и выберите New > Font resource file.
- Дайте этому файлу имя и нажмите OK.
- Откройте этот XML-файл и определите все различные версии этого шрифта, а также их атрибуты стиля и веса, например:
- at Design-Time , чтобы установить шрифт, используйте android:typeface=»serif»
Переместите файлы вашего шрифта в новую папку res/font.
Использование своих шрифтов
Вы можете применить свой шрифт к тексту, используя новый XML атрибут android:fontFamily :
Вы можете добавить пользовательский шрифт к любым стилям, которые вы создали в приложении.
Если вы хотите использовать свой шрифт программно, когда вы можете извлечь ваш шрифт используя метод getFont(int) , например:
Создание семейства шрифта
Иногда при распаковке папки со шрифтом вы можете обнаружить несколько версий одного и того же шрифта, например, курсивную версию, или шрифты с различной толщиной.
Если вы используете несколько версий одного и того же шрифта, вы можете сгруппировать их вместе в семейство шрифтов. Семейство шрифтов по существу является отдельным XML-файлом, в котором вы определяете каждую версию шрифта со всеми связанными с ним атрибутами стиля и веса.
Чтобы создать семейство шрифтов:
Затем вы можете ссылаться на любой из шрифтов в этом семействе, используя атрибут android:fontFamily . Например:
Не забудьте протестировать!
В то время, как легко увлечься новыми функциями, не заходите за рамки пользовательских шрифтов! Согласованные UI легче в навигации и понимании, а если ваше приложение постоянно переключается между шрифтами, тогда ваши пользователи скорее обратят больше внимание на то, как выглядит ваш текст, а не на то, что о чем он говорит.
Если вы добавляете пользовательские шрифты в свой проект, важно проверить, как этот шрифт отображается в широком диапазоне различных конфигураций экрана, поскольку вашим главным приоритетом всегда должна быть удобочитаемость текста.
Заключение
В этом совете я показала вам, как создать более стильный и уникальный текст, добавив пользовательские шрифты в свои проекты. В заключительном посте этой серии мы переведём наш фокус с текста на изображения, так как я покажу вам, как создавать адаптивные значки запуска, которые автоматически адаптируют свою форму в соответствии с текущим устройством.
В то же время ознакомьтесь с некоторыми из наших других руководств по разработке приложений для Android!
Источник
установить шрифт во время выполнения, Textview
Как установить шрифт в textview, который создается во время выполнения?
Я создал textview
Как я могу изменить размер
я хочу установить стиль шрифта в «Verdana».
Как это сделать?? с уважением шишир!—2—>
7 ответов
чтобы установить встроенный шрифт во время выполнения:
прежде всего, чтобы изменить шрифт-лицо, a шрифт класс.
теперь at Run-Time , чтобы установить шрифт, используйте setTypeface(Typeface) из кода Java
установить шрифт(ы) в приложении Android
чтобы сделать это, просто создайте активы/ папку в корне проекта и поместите свои шрифты (в TrueType или TTF, форму) в активы. Вы можете, например, создать assets/fonts/ и поместите свои файлы TTF туда:
Вы можете иметь .шрифт ttf в папке активов. Скажем, имя шрифта — » default.ttf » и вы только что должны написать ниже 2 строк кода
вы также должны быть осторожны, потому что разные шрифты имеют различные размеры. Возможно, Вам потребуется установить размер как:
вот небольшой класс полезности
для таких вещей, как Spinner или ListView s (т. е. любой вид AdapterView ), которые генерируют своих детей из адаптера, вам нужно будет установить шрифт каждого элемента View на getView (или аналогичный) метод адаптера. Это связано с тем, что представления могут быть созданы по мере необходимости и поэтому установка Typeface на onCreate не будет работать должным образом.
вам нужно использовать шрифт:
- добавить шрифт, который вы хотите использовать в свой проект в качестве актива.
создать объект шрифта, используя этот шрифт:
Typeface myFont = Typeface.createFromAsset(getAssets(), «fonts/MyFont.ttf»);
установите шрифт для объекта, который вы хотите настроить:
TextView myTextView = (TextView)findViewById(R.id.my_text_view); myTextView.setTypeface(myFont);
введение шрифты в XML в Android 8.0 (обратная совместимость с API версии 14) его очень легко установить шрифт из самого xml.
из документации android:
Android 8.0 (уровень API 26) вводит новую функцию, шрифты в XML, что позволяет использовать шрифты в качестве ресурсов. Вы можете добавить файл шрифта в папка res/font/ для связывания шрифтов в качестве ресурсов. Эти шрифты скомпилирован в файл R и автоматически доступна в Android Студия. Вы можете получить доступ к ресурсам шрифта с помощью нового тип ресурса, шрифт. Например, чтобы получить доступ к ресурсу шрифта, используйте @шрифт/сайт myfont или шрифт Р..сайт myfont.
сначала создайте Каталог Ресурсов Android на res папка с именем шрифт
Добавь свой .ttf файл шрифта в этот каталог, а затем создать семейство шрифтов
создать семейство шрифтов
семейство шрифтов-это набор шрифтов файлы вместе со своими деталями стиля и веса. В Android вы можете создать новое семейство шрифтов в качестве ресурса XML и получить к нему доступ как к единице, а не ссылаться на каждый стиль и вес как на отдельные ресурсы. Таким образом, система может выбрать правильный шрифт на основе стиля текста, который вы пытаетесь использовать.
чтобы создать семейство шрифтов, выполните следующие действия в Android Studio:
- щелкните правой кнопкой мыши папку шрифта и перейдите к Новый > Шрифт файл ресурсов. Этот Появится окно создать файл ресурсов.
- введите имя файла и нажмите кнопку ОК. Новый XML-ресурс шрифта открывается в Редакторе.
заключите каждый файл шрифта, стиль и вес атрибута в элемент. В следующем XML-файле показано добавление шрифта атрибуты в XML-ресурсе шрифта:
затем используйте следующий код, чтобы установить шрифт в вашей textView как
динамически вы можете установить fontfamily похож на android: fontFamily в xml, используя это,
это список шрифт по умолчанию семейство используется, используйте любое из этого, заменив строку двойной кавычки «без засечек-средство»
» mycustomfont.ttf » — это файл ttf. путь будет src / активы / шрифты / mycustomfont.ttf
вы можете использовать следующий код, чтобы установить весь текст на определенный шрифт во время выполнения. Просто позвоните setViewGroupFont метод в конце вашей активности onCreate метод или когда вы динамически создаете новые представления:
Источник