Dpi по умолчанию "большой", "средний" и "малый" текстовые представления андроида

Сообщает ли документация (или кто-либо) о значениях dpi по умолчанию

  • Large TextView { android:textAppearance="?android:attr/textAppearanceLarge"}
  • Средство TextView { android:textAppearance="?android:attr/textAppearanceMedium"}
  • Малый TextView { android:textAppearance="?android:attr/textAppearanceSmall"}

виджетов в SDK?

The Large, medium, small and regular text views

Иными словами, можем ли мы воспроизвести внешний вид этих текстовых представлений без использования атрибута android:textAppearance?

Ответ 1

См. в каталоге sdk для Android.

В \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>

В \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.Large означает, что стиль наследуется от стиля TextAppearance, вам также нужно отследить его, если вы хотите увидеть полное определение стиля.

Ссылка: http://developer.android.com/design/style/typography.html

Ответ 2

Иными словами, можем ли мы воспроизвести внешний вид этих текстовых представлений без использования атрибута android: textAppearance?

Как biegleux уже сказано:

  • small представляет 14sp
  • medium представляет 18sp
  • big представляет 22sp

Если вы хотите использовать небольшое, среднее или большое значение для любого текста приложения Android, вы можете просто создать файл dimens.xml в своей папке values и определить размер текста там со следующими тремя строками:

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

Вот пример TextView с большим текстом из файла dimens.xml:

<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"/>

Ответ 3

Программно, вы можете использовать:

textView.setTextAppearance(android.R.style.TextAppearance_Large);