Я пытаюсь использовать Font Awesome в своем приложении, я смог интегрировать шрифт с помощью Typeface.createFromAsset()
, но я также хочу использовать значки, предоставленные этим шрифтом, но до сих пор я не смог этого сделать.
Этот конкретный шрифт содержит значки внутри области частного использования Unicode (PUA) для таких вещей, как элементы управления медиаплеера, доступ к файловой системе, стрелки и т. Д.
Кто-нибудь использовал шрифты, которые содержат значки и символы на Android, это вообще возможно?
android
font-awesome
Джулиан Суарес
источник
источник
Ответы:
Мне кажется, что Font Awesome отлично работает в моем приложении для Android. Я сделал следующее:
fontawesome-webfont.ttf
в мою папку с активамиСоздана запись в strings.xml для каждого значка. Например, для сердца:
Ссылка на упомянутую запись в представлении моего XML-макета:
Загрузил шрифт в моем методе onCreate и установил его для соответствующих Views:
источник
Hashtable
повторного использования шрифта вашего значка, как предложено здесь: code.google.com/p/android/issues/detail?id=9904#c7strings.xml
как, а<string name="faicon"></string>
затем установить текст в моем коде, все будет в порядке. Но когда я пытаюсьmTextView.setText("");
это показать только сырой текст. Кто-нибудь мог помочь? спасибоПопробуйте IcoMoon: http://icomoon.io
Скажем, вы выбрали значок воспроизведения, присвоили ему букву «P» и загрузили файл
icomoon.ttf
в свою папку ресурсов. Вот как вы показываете иконку:XML:
Ява:
Я выступил с докладом о создании красивых приложений для Android, который включает в себя объяснение использования шрифтов значков, а также добавление градиентов, чтобы сделать значки еще красивее: http://www.sqisland.com/talks/beautiful-android
Объяснение шрифта иконки начинается на слайде 34: http://www.sqisland.com/talks/beautiful-android/#34
источник
Может быть, слишком поздно, но у меня была такая же потребность, поэтому я опубликовал этот https://github.com/liltof/font-awsome-for-android Это xml-версия шрифта для Android, готовая для использования, как и сказал Кейт Корвин
Надеюсь, это поможет другим.
источник
Как указано выше, это отличный пример и прекрасно работает:
НО! > это будет работать, если строка внутри кнопки, которую вы установили из xml:
Если вам нужно добавить его динамически, можете использовать это:
источник
Если вы хотите программный setText без добавления строки в string.xml
посмотрите его шестнадцатеричный код здесь:
http://fortawesome.github.io/Font-Awesome/cheatsheet/
заменить & # xf066; до 0xf066
источник
Для этого есть небольшая и полезная библиотека :
Получить демоверсию в Google Play .
Вы можете легко добавить значок на основе шрифта в свой макет:
Вы можете надуть font-icon как
Drawable
из xml:Java-код:
Ссылки:
источник
0.1.9
Я сделал этот вспомогательный класс в C # (Xamarin), чтобы программно установить свойство text. Это работает очень хорошо для меня:
Думаю, должно быть достаточно легко перейти на Java. Надеюсь, это поможет кому-то!
источник
Одна из библиотек, которые я использую для Font Awesome:
https://github.com/Bearded-Hen/Android-Bootstrap
В частности,
https://github.com/Bearded-Hen/Android-Bootstrap/wiki/Font-Awesome-Text
Документация проста для понимания.
Сначала добавьте необходимые зависимости в build.gradle:
Во-вторых, вы можете добавить это в свой XML:
но убедитесь, что вы добавили это в свой корневой макет, если хотите использовать приведенный выше пример кода:
источник
Библиотека FontView позволяет использовать символы шрифта обычного / Unicode в качестве значков / графики в вашем приложении. Он может загрузить шрифт через ресурсы или сетевое местоположение.
Преимущество этой библиотеки в том, что:
https://github.com/shellum/fontView
Пример:
Layout:
Java:
источник
Есть еще одно приятное решение, которое вы можете использовать в своих XML-файлах макета напрямую и не требует его использования
setTypeface
.Это Iconify Джоан Сапата . Вы можете прочитать здесь, что нового в Iconify v2 . Он включает в себя 9 различных библиотек шрифтов, которые вы можете просто использовать, добавив зависимости в файл build.gradle .
В XML-файлах макета можно выбрать один из следующих виджетов:
источник
Сначала создайте папку с активами и скопируйте значок fontawesome (.ttf). Как создать папку с активами?
Следующий шаг скачать, как скачать файл .ttf? нажмите здесь -> и нажмите кнопку загрузки после загрузки извлечения и откройте веб-шрифты. наконец, выберите истинный текстовый стиль (ttf) и вставьте папку с активами.
Как создать XML и Java-файл в Android?
этот пример одного шрифта более Unicode нажмите здесь
Activity_main.xml
MainActivity.java
Вывод:
Выходное изображение
источник
Я немного опоздал на вечеринку, но я написал собственное представление, которое позволяет вам делать это, по умолчанию оно установлено на entypo, но вы можете изменить его для использования любого iconfont: проверьте это здесь: github.com/MarsVard/IconView
// редактировать библиотеку старая и больше не поддерживается ... новая здесь https://github.com/MarsVard/IonIconView
источник
Если вам нужно всего несколько шрифтов, вы также можете использовать http://fa2png.io для создания обычных пиксельных изображений. Но если вы будете регулярно добавлять новые значки / кнопки, я бы порекомендовал версию .ttf, так как она более гибкая.
источник
Если кто-то задается вопросом, как добавить это программно, вам нужно сделать это таким образом.
источник
Поскольку все ответы велики , но я не хочу использовать библиотеку и каждое решение только с одной строки кода Java сделал мой
Activities
иFragments
очень грязно. Итак, я переписалTextView
класс следующим образом:что вы должны сделать, это скопировать
ttf
файл шрифта вassets
папку. И использовать этот шпаргалку для поиска каждой строки значков.надеюсь это поможет.
источник