TextAppearance主题

时间:2011-11-09 16:39:19

标签: android coding-style themes

我想将主题中的文本外观设置为TextAppearnance.Large。 这是我在styles.xml中做的事情(我的应用程序指向我的清单中的这个主题)

<style name="myTheme" parent="android:Theme.NoTitleBar.Fullscreen">  
 <item name="android:textAppearance">@android:style/TextAppearance.Large</item>  
</style>

问题: 我的文字仍然显示得很小。

问题(S):

  • 在我的活动中尝试使用预定义的TextAppearance时,我做错了什么?即如何正确指定此TextAppearance?
  • TextSppearance.Large / Medium / Small定义的TextSizes在哪里?

2 个答案:

答案 0 :(得分:5)

首先,将属性声明为

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

但是,在主题中声明文本外观或文本颜色只会影响任何地方绝对没有样式或属性的文本,包括系统定义的文本。如果添加

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Medium Text" />

没有Eclipse引入的android:textAppearance="?android:attr/textAppearanceMedium"行,它会受到这个主题的影响,但是按钮之类的东西永远不会。

答案 1 :(得分:-1)

主题和样式在您环境中的sdk实现的themes.xml和styles.xml文件中定义(不同的Android版本或sdk级别的不同)。

在您的计算机中搜索themes.xml(例如,您可能会在Windows 32位计算机的“program files / android”文件夹中找到它的多个实例。)

this post解释了如何自定义这些属性。

您还可以通过修改TextView tag属性在xml布局文件中设置显式大小属性:

<TextView  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:text="15sp is the 'normal' size."  
    android:textSize="15sp"  
    />

this post解释了如何在xml布局文件中直接自定义android字体(包括fontType,fontColor,shadow,bold,italic)。