173

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

  • 大文本视图 { android:textAppearance="?android:attr/textAppearanceLarge"}
  • 中等文本视图 { android:textAppearance="?android:attr/textAppearanceMedium"}
  • 小文本视图 { android:textAppearance="?android:attr/textAppearanceSmall"}

SDK 中的小部件?

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

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

4

3 回答 3

286

见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

于 2012-07-21T08:13:02.010 回答
19

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

就像biegleux已经说过的:

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

如果您想在 Android 应用程序中的任何文本上使用smallmediumlarge值,您只需dimens.xml在您的values文件夹中创建一个文件并在其中使用以下 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"/>
于 2015-08-17T17:39:39.397 回答
9

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

textView.setTextAppearance(android.R.style.TextAppearance_Large);
于 2017-09-26T16:16:50.953 回答