是android中的textAppearance的默认值:theme =“@ style / AppTheme”textAppearanceSmall?

时间:2013-06-06 07:12:31

标签: android

当我创建一个新的android项目时,默认的主题是android:Theme.Light,我发现TextView控件的字体大小很小, 它是否意味着android中的textAppearance的默认值:theme =“@ style / AppTheme”是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 个答案:

答案 0 :(得分:8)

您可以在默认的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

答案 1 :(得分:5)

TextView未采用默认textAppearance,默认设置为明确使用textAppearanceSmall

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

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

引用的样式包含以下行:

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

这就是TextView默认为小文字大小的原因。