在Android中,android:theme="@style/AppTheme"的textAppearance的默认值是textAppearanceSmall吗?

7
当我创建一个新的安卓项目时,默认主题是android:Theme.Light,我发现TextView控件的字体大小很小,这是否意味着android:theme="@style/AppTheme"中textAppearance属性的默认值是textAppearanceSmall?谢谢!
<style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
</style>
2个回答

11
你可以在默认的styles.xml文件中找到所有Android小部件使用的样式。你可以在这里查看示例文件:https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xml 或者直接进入SDK文件夹,例如在我的电脑上,它在这里可用:D:\Dev\android-sdk\platforms\android-17\data\res\values\styles.xml。在这个文件中,你会找到TextView样式的定义。
<style name="Widget.TextView">
    <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
    <item name="android:textSelectHandleLeft">?android:attr/textSelectHandleLeft</item>
    <item name="android:textSelectHandleRight">?android:attr/textSelectHandleRight</item>
    <item name="android:textSelectHandle">?android:attr/textSelectHandle</item>
    <item name="android:textEditPasteWindowLayout">?android:attr/textEditPasteWindowLayout</item>
    <item name="android:textEditNoPasteWindowLayout">?android:attr/textEditNoPasteWindowLayout</item>
    <item name="android:textEditSidePasteWindowLayout">?android:attr/textEditSidePasteWindowLayout</item>
    <item name="android:textEditSideNoPasteWindowLayout">?android:attr/textEditSideNoPasteWindowLayout</item>
    <item name="android:textEditSuggestionItemLayout">?android:attr/textEditSuggestionItemLayout</item>
    <item name="android:textCursorDrawable">?android:attr/textCursorDrawable</item>
</style>

你可以看到,实际上在这个文件中,默认情况下使用textAppearanceSmall定义了文本大小。


8

TextView 不使用默认的 textAppearance,它默认设置为明确使用 textAppearanceSmall

Themes.xml 包含以下行,定义了 TextView 的默认样式:

<item name="textViewStyle">@android:style/Widget.TextView</item>

所提及的样式包含以下行:

<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>

这就是为什么TextView默认使用小字体大小的原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接