W odpowiedzi na to pytanie użytkownik podaje wartości android:fontFamily
i 12 wariantów (patrz poniżej). Skąd pochodzą te wartości? Dokumentacja android:fontFamily
nie zawiera tych informacji w żadnym miejscu (sprawdziłem tutaj i tutaj ). Ciągi są wymienione w pliku Android styles.xml w różnych miejscach, ale w jaki sposób mapują one z powrotem na czcionkę Roboto?
W Androidzie 4.1 / 4.2 dostępne są następujące rodziny czcionek Roboto:
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)
w połączeniu z tym
android:textStyle="normal|bold|italic"
Możliwe są 12 wariantów:
- Regularny
- italski
- Pogrubienie
- Pogrubiona kursywa
- Lekki
- Jasno-kursywa
- Chudy
- Cienka kursywa
- Skondensowane regularne
- Skrócona kursywa
- Skondensowane pogrubienie
- Skrócony pogrubiony kursywą
W styles.xml
pliku w aplikacji pracuję nad kimś wymienionym jako rodzina czcionek i jestem prawie pewien, że to źle:
<item name="android:fontFamily">Roboto-Regular.ttf</item>
Chciałbym poprawnie skonfigurować motyw dla naszej aplikacji (który obejmuje prawidłowe użycie fontFamily) i usunąć nadmiarowość w niektórych stylach, które zostały utworzone, zanim przejrzałem plik.
Dostępne czcionki (od Oreo)
Materiał projektowe typografia zawiera demonstracje niektórych z tych czcionek oraz sugestie dotyczące wyboru czcionek i stylów.
Dla oszustów kodu:
fonts.xml
jest ostateczną i stale rozwijającą się listą czcionek Androida.Korzystanie z tych czcionek
Ustaw atrybuty
android:fontFamily
iandroid:textStyle
, npdo żądanych wartości z tej tabeli:
(Noto Sans jest czcionką zastępczą; nie można jej określić bezpośrednio)
Uwaga: ta tabela pochodzi od
fonts.xml
. Nazwa i styl każdej czcionki jest wymieniony w pliku fonts.xml, npserif-monospace
jest zatem rodziną czcionek inormal
jest stylem.Zgodność
Oparte na protokole z fonts.xml i byłego system_fonts.xml można zobaczyć, gdy każda czcionka dodano:
źródło
O ile mi wiadomo, nie można zadeklarować niestandardowych czcionek w formacie XML lub motywach. Zwykle tworzę niestandardowe klasy rozszerzające widok tekstu, które ustawiają własną czcionkę przy tworzeniu instancji i używam tych w moich plikach xml układu.
to znaczy:
i
źródło