Android roboto font что это

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

Используем в стилях

И у вас больше не болит голова об эффективности 🙂

Источник

Как использовать шрифт Roboto в проекте Android

Я разработал один проект для Android. В этом проекте шрифт текста по умолчанию используется для android: sans.

Теперь я хочу заменить шрифт текста по умолчанию на шрифт roboto для всего моего проекта.

Как я могу это сделать?

ОТВЕТЫ

Ответ 1

Вы можете сделать это обычным способом, используя TypeFace , например:

Примечание. Вышеупомянутое должно быть сделано в каждом Activity .

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

Существует простой способ сделать это. Следуйте шагам из этого ответа на SO: fooobar.com/questions/14339/. (полный реквизит leocadiotine для решения. Я использовал его раньше, и он работает как шарм)

EDIT: подумайте your_namespace как маркер, чтобы вы дали ему имя по вашему выбору. Например, при интеграции Admob в XML я использую xmlns:ads . Вы можете использовать, например: xmlns:font или что-то описательное.

Что касается имени custom.ttf, это в основном файл шрифта с его расширением, который нужно скопировать в папку Assets . Например, если вы используете ROBOTO-REGULAR.TTF, замените custom.ttf на ROBOTO-REGULAR.TTF. Используя этот пример, весь код должен выглядеть так:

Читайте также:  A307fn frp android 10

Ответ 2

Скачайте и распакуйте zip файл Roboto

Создайте в своем проекте папку assets , если у вас ее еще нет. Предполагаю, что вы используете Android Studio, вот как это сделать.

Создайте новый каталог в папке с ресурсами, назовите его font .

Откройте распакованный файл и скопируйте стиль шрифта по вашему выбору. Шрифты вашей папки шрифтов выглядят следующим образом:

Теперь вы можете использовать этот шрифт в любом месте своего приложения:

Ответ 3

Ответ 4

Вы можете сделать это легко, используя Typerlib.

Эта библиотека обертывает сложность добавления ресурса шрифта в ваш проекта и утилизировать недавно созданные шрифты inorder для максимизации ваше приложение.

Добавьте это в свой build.gradle

Затем вы можете использовать шрифт

Он включает в себя все текущие шрифты в Roboto , Как:

Для просмотра всех доступных шрифтов Android Studio Auto завершается после класса Шрифт, нажимая Ctrl + space .

Источник

Roboto: история нового шрифта для Android

19 октября 2011 года была представлена новая версия операционной системы Android. Ice Cream Sandwich привнес множество технологических и графических новшеств, которые мы уже описывали в отдельной статье. Но сейчас хотелось бы коснуться причин и истории создания нового шрифта для ОС от Google — Roboto.

Во время презентации Android 4.0 Ice Cream Sandwich Матиас Дуарте (Matias Duarte), директор по пользовательскому интерфейсу Android, который пришел в команду мобильной ОС от Google перед созданием Android 3.0 Honeycomb, назвал Roboto не просто шрифтом, а новой идеологей Android. В своем сообщении в социальной сети Google+ он рассказал о процессе создания шрифта и о том, почему появился Roboto, который заменит существующий сейчас Droid.

По утверждению господина Дуарте, Droid прекрасно смотрится на дисплеях с невысоким разрешением, а на HD-экранах смотрится просто отвратительно. Потому команда дизайнеров должна была создать шрифт, который был бы оптимизирован под высокое разрешение (720p и выше). Но шрифт при этом должен был бы быть не хуже, чем Droid, на экранах с низким разрешением. Кроме того, шрифт должен был вписываться в новый Magazine UI интерфейс Android, начало которому было дано еще в Android 3.0+. Именно эти задачи, по мнению Матиаса Дуарте, полностью решил Roboto.

Roboto, по словам господина Дуарте, интересен тем, что надписи в программах, которые созданы под Droid, будут хорошо смотреться и с новым шрифтом из-за того, что буквы по ширине в этих шрифтах почти одинаковы. Кроме того, команда Google, работая над Roboto, учитывала и языки с нелатинскими буквами. Та же кириллица или греческие буквы будут выглядеть в Roboto не хуже, чем латиница. Roboto остается читаемым при меньших, чем у Droid, межстрочных интервалах, что позволяет уместить больше информации на экране.

Кроме того, Матиас Дуарте привел множество технических моментов, которые будут интересны профессионалам. Им следует пройти по ссылке и прочитать оригинальную статью.

Заметили ошибку? Выделите её и нажмите Ctrl+Enter или сообщите здесь.

Читайте также:  Не показывает входящий вызов андроид ксиоми

Источник

Использование Downloadable Fonts в приложении


Ранее мы писали о том, Google добавили в Android поддержку шрифтов из своего каталога Google Fonts. В этой статье мы подробно рассмотрим, как можно это реализовать в своём приложении.

Благодаря Google Fonts вы можете использовать тысячи самых разных шрифтов в своих приложениях. Более того, эта возможность теперь распространяется не только на Android O (API 26), но также на все устройства, начиная с API 14, благодаря использованию библиотеки поддержки.

Использование загружаемых шрифтов несёт в себе следующие преимущества:

  • уменьшение размера APK (вам не нужно включать в проект .ttf файлы со шрифтами);
  • приложение на устройстве пользователя могут совместно использовать шрифты из одного источника, не раздувая хранилище избыточными файлами.

Как это работает?

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

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

Такая схема необходима, чтобы система не вносила вредоносного кода в файлы.

Реализация

В приложении Фонарик используется таймер со специальным шрифтом, который хранится в папке assets проекта. Чтобы уменьшить размер APK файла, перепишем приложение, используя загружаемые шрифты.

Добавить загружаемые шрифты в своё приложение можно двумя способами.

Через Android Studio

Чтобы добавить таким способом, перейдём на разметку с виджетом, шрифт которого нужно изменить. На вкладке Design нужно кликнуть по виджету, затем в свойствах найти fontFamily и выбрать More fonts…

Откроется окно со списком всех шрифтов, доступных в Google Fonts, где можно выбрать любой понравившийся. Выберем шрифт Orbitron и нажмём ОК. Важно здесь выбрать именно Create downloable font, поскольку Add font to project просто добавит шрифт в проект, что противоречит текущей цели.

После этого Android Studio сама создаст необходимые файлы. В папке res/font будет создан файл orbitron.xml, в папке res/values файлы preloaded_fonts.xml и font_certs.xml.

orbitron.xml

Этот файл содержит определения для Android о семействе шрифтов. Как вы можете видеть, в нём перечислены fontProvider, fontProviderCerts, которые были автоматически созданы в Android Studio.

preloaded_fonts.xml

Android Studio создаёт этот файл, чтобы помочь предварительно загрузить шрифты. Это нужно, чтобы избежать задержки, когда шрифт не отображается при старте приложения. Рендеринг картинки является синхронным процессом, поэтому первый рендер может занять некоторое время, пока Android загружает шрифт. Объявление этого файла в манифесте нужно для того, чтобы приложение получило шрифт в начале работы, до отрисовки экрана.

Android Studio сама добавляет в манифест метатег, содержащий путь до файла preloaded_fonts.xml.

font_certs.xml

Этот файл содержит огромные зашифрованные сертификаты, которые проверяют шрифты.

Теперь мы может просто указать в разметке у любого виджета свой шрифт в атрибуте fontFamily и увидеть результат.

Здесь новый шрифт используется только у одного виджета. Если вы хотите поменять шрифт всего приложения, вам нужно перейти в styles.xml и добавить его в тему вашего приложения.

Читайте также:  Как восстановить pdf для андроид

Как использовать загружаемые шрифты на старых устройствах?

Для этого вам нужно добавить библиотеку поддержки в файл build.gradle модуля приложения.

Кроме того, библиотека поддержка была перенесена в maven репозиторий Google, поэтому вам больше не нужен SDK Manager для загрузки библиотеки. Чтобы добавить maven репозиторий Google, добавьте следующую строку в repositories файла build.gradle модуля проекта.

Программное добавление загружаемых шрифтов

Чтобы добавить шрифт программно, нам понадобятся два класса:

  • FontRequest для создания запроса на получение шрифта
  • FontsContract для создания объекта Typeface после получения результата запроса шрифта

Приложение будет извлекать шрифты из провайдера с помощью API FontsContract. У каждого провайдера есть свой собственный набор ограничений на версии Android и язык запросов, который он поддерживает.

Итак, для начала создадим экземпляр класса FontRequest.

В параметрах указываются:

  • Владелец провайдера шрифтов
  • Пакет провайдера шрифтов для проверки личности провайдера
  • Строка запроса шрифта. О том, как формируется запрос, мы писали здесь.
  • Список сертификатов. Необязателен, если вы запрашиваете шрифты из предустановленных провайдеров, однако необходим, если используется библиотека поддержки.

Затем нужно создать экземпляр класса FontsContractCompat.FontRequestCallback, чтобы получить результат выполнения запроса в виде объекта Typeface или же сообщение об ошибке в случае неудачи.

Теперь достаточно вызвать метод FontsContract.requestFont(), чтобы получить шрифт. Этот метод проверит, находится ли шрифт в кеше. Если его там нет, то он обращается к провайдеру шрифтов, чтобы извлечь шрифт и передать в callback.

Как только FontRequestCallback получает объект Typeface, он устанавливает его в нужный виджет. Это наглядно можно увидеть на GIF ниже.

Заключение

Вот и всё! Теперь с помощью загружаемых шрифтов вы можете использовать огромный ассортимент самых разных шрифтов и при этом не увеличивать размер вашего APK файла.

Источник

Android roboto font что это

Implementation of a TextView and all its direct/indirect subclasses with native support for the Roboto fonts, includes the brand new Roboto Slab and Roboto Mono fonts.

This project is deprecated in favor of the native implementation introduced in Android O.

This library is compatible from API 14 (Android 4.0).

To set up a typeface you must specify the parameter robotoTypeface :

or specify a set of parameters robotoFontFamily , robotoTextWeight and robotoTextStyle :

Set up typeface in code:

Using parameter typeface :

Using parameters fontFamily , textWeight and textStyle :

Using parameter typeface :

Using parameters fontFamily , textWeight and textStyle :

To apply roboto typeface for original TextView (like a Calligraphy) you must attach inflater in your Activity class in the #onCreate() method.

and specify the typeface in xml:

Note: Popular IDE’s (Android Studio, IntelliJ) will likely mark this as an error despite being correct. You may want to add tools:ignore=»MissingPrefix» to either the View itself or its parent ViewGroup to avoid this. You’ll need to add the tools namespace to have access to this «ignore» attribute. xmlns:tools=» http://schemas.android.com/tools» . See https://code.google.com/p/android/issues/detail?id=65176.

If you intend to use is not all fonts, the extra fonts can be removed.

Источник

Оцените статью