Android默认的“大”,“中”和“小”文本视图的dpi值


171

文档(或任何人)是否谈论默认的dpi值

  • 大型TextView { android:textAppearance="?android:attr/textAppearanceLarge"}
  • 中级TextView { android:textAppearance="?android:attr/textAppearanceMedium"}
  • 小型TextView { android:textAppearance="?android:attr/textAppearanceSmall"}

SDK中的小部件?

大,中,小和常规文本视图

换句话说,我们可以不使用android:textAppearance属性来复制这些文本视图的外观吗?


1
如果您使用的是intelliJ产品(例如Android Studio),则每当您按F1时,您都可以查看文档,android:textAppearanceValue这将为您提供值的sp / dp大小。
androidtitan

Answers:


283

参见android sdk目录。

\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


18

换句话说,我们可以不使用android:textAppearance属性来复制这些文本视图的外观吗?

就像biegleux已经说过的:

  • 代表14sp
  • 中等代表18sp
  • 代表22sp

如果要在Android应用程序中的任何文本上使用值,则只需dimens.xmlvalues文件夹中创建一个文件,然后使用以下3行在其中定义文本大小:

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

8

以编程方式,您可以使用:

textView.setTextAppearance(android.R.style.TextAppearance_Large);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.