В Java я бы сделал что-то вроде:
java.awt.GraphicsEnvironment ge =
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = ge.getAllFonts();
Есть ли эквивалент Android?
В Java я бы сделал что-то вроде:
java.awt.GraphicsEnvironment ge =
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = ge.getAllFonts();
Есть ли эквивалент Android?
Взято с ответа Марка Мерфи в списке рассылки Android Developers:
http://developer.android.com/reference/android/graphics/Typeface.html
Есть только три шрифта: обычный (Droid Sans), засечек (Droid Serif) и monospace (Droid Sans Mono).
Хотя могут быть дополнительные шрифты где-то похоронены в WebKit, они оказались недоступными для разработчиков за пределами WebKit.: - (
Единственными другими шрифтами являются любые TrueType, которые вы связываете с вашим приложением.
Изменить: Roboto - это новый шрифт, который появился с Android 4.0. Вы можете использовать этот проект библиотеки, чтобы использовать его во всех версиях обратно к уровню API 4 https://github.com/mcalliph/roboto-text-view
Что касается фактического вопроса, вот способ создания списка всех доступных шрифтов:
String path = "/system/fonts";
File file = new File(path);
File ff[] = file.listFiles();
Array ff [] будет содержать все файлы шрифтов.
В андроиде доступно только 3 шрифта; нормальный (Droid Sans), serif (Droid Serif), и моноширины (Droid Sans Mono).
Приложения могут включать свои собственные шрифты TrueType, но не могут устанавливать их для использования другими приложениями.
несколько ссылок о шрифтах:
Android включает в себя 3 базовых шрифта, но, в отличие от iOS, вы можете использовать практически любой шрифт. Вы можете просто вставлять его в свое приложение, вместо того чтобы ограничиваться предустановленным списком шрифтов, подобных Apple (Apple не допускает вставки шрифтов). Довольно удобно.
Обратите внимание, что это для Android, но веб-браузеры (включая основной предустановленный веб-браузер Android) поддерживают все стандартные HTML-шрифты.