dpi value of default “large”, “medium” and “small” text views android

后端 未结 3 1106
野的像风
野的像风 2020-12-22 15:18

Does the documentation ( or anyone) talks about the dpi values of the default

  • Large TextView {android:textAppearance=\"?android:attr/textAppearanceLarge
相关标签:
3条回答
  • 2020-12-22 15:31

    See in the android sdk directory.

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

    In \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 means style is inheriting from TextAppearance style, you have to trace it also if you want to see full definition of a style.

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

    0 讨论(0)
  • 2020-12-22 15:51

    Programmatically, you could use:

    textView.setTextAppearance(android.R.style.TextAppearance_Large);
    
    0 讨论(0)
  • 2020-12-22 15:55

    To put it in another way, can we replicate the appearance of these text views without using the android:textAppearance attribute?

    Like biegleux already said:

    • small represents 14sp
    • medium represents 18sp
    • large represents 22sp

    If you want to use the small, medium or large value on any text in your Android app, you can just create a dimens.xml file in your values folder and define the text size there with the following 3 lines:

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

    Here is an example for a TextView with large text from the dimens.xml file:

    <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"/>
    
    0 讨论(0)
提交回复
热议问题