Wartość dpi domyślnych widoków tekstu „duży”, „średni” i „mały” android

171

Czy dokumentacja (lub ktokolwiek) mówi o domyślnych wartościach dpi

  • Duży TextView { android:textAppearance="?android:attr/textAppearanceLarge"}
  • Medium TextView { android:textAppearance="?android:attr/textAppearanceMedium"}
  • Mały TextView { android:textAppearance="?android:attr/textAppearanceSmall"}

widżety w SDK?

Duże, średnie, małe i regularne widoki tekstu

Ujmując to inaczej, czy możemy powielić wygląd tych widoków tekstu bez używania android:textAppearanceatrybutu?

Vinay W
źródło
1
Jeśli używasz produktu IntelliJ, takiego jak Android Studio, będziesz mógł przeglądać dokumentację za każdym razem, gdy naciśniesz F1 na, android:textAppearanceValueco da ci rozmiar w sp / dp wartości.
androidtitan,

Odpowiedzi:

283

Zobacz w katalogu Android SDK.

W \platforms\android-X\data\res\values\themes.xml:

    <item name="textAppearanceLarge">@android:style/TextAppearance.Large</item>
    <item name="textAppearanceMedium">@android:style/TextAppearance.Medium</item>
    <item name="textAppearanceSmall">@android:style/TextAppearance.Small</item>

W \platforms\android-X\data\res\values\styles.xml:

<style name="TextAppearance.Large">
    <item name="android:textSize">22sp</item>
</style>

<style name="TextAppearance.Medium">
    <item name="android:textSize">18sp</item>
</style>

<style name="TextAppearance.Small">
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">?textColorSecondary</item>
</style>

TextAppearance.Largeoznacza, że ​​styl dziedziczy po TextAppearancestylu, musisz go również prześledzić, jeśli chcesz zobaczyć pełną definicję stylu.

Link: http://developer.android.com/design/style/typography.html

biegleux
źródło
18

Innymi słowy, czy możemy powielić wygląd tych widoków tekstu bez używania atrybutu android: textAppearance?

Jak już powiedział biegleux :

  • mały reprezentuje 14sp
  • medium reprezentuje 18 sp
  • duży reprezentuje 22sp

Jeśli chcesz użyć małej , średniej lub dużej wartości w dowolnym tekście w aplikacji na Androida, możesz po prostu utworzyć dimens.xmlplik w swoim valuesfolderze i zdefiniować tam rozmiar tekstu za pomocą następujących 3 linii:

<dimen name="text_size_small">14sp</dimen>
<dimen name="text_size_medium">18sp</dimen>
<dimen name="text_size_large">22sp</dimen>

Oto przykład dla TextView z dużym tekstem z dimens.xmlpliku:

<TextView
  android:id="@+id/hello_world"
  android:text="hello world"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="@dimen/text_size_large"/>
jfmg
źródło
8

Programowo możesz użyć:

textView.setTextAppearance(android.R.style.TextAppearance_Large);
doctorram
źródło