缺少TextAppearances.Micro样式

时间:2014-06-19 07:45:07

标签: android android-styles android-textattributes

根据Android Developer Design Style for Typography,有4 TextAppearance s(微,小,中,大)。

但Micro没有预定义的样式:

?android:attr/textAppearanceMicro
android:style/TextAppearance.Micro

在Android的源代码中都找不到它们。我错过了什么?

2 个答案:

答案 0 :(得分:1)

好问题!经过一番研究后,我没有找到“TextAppearance.Micro”的任何结果。

另一方面,我发现official Android source for style resourceTextAppearance s相关。

<style name="TextAppearance.Small">
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">?textColorSecondary</item>
</style>

<style name="TextAppearance.Medium">
    <item name="android:textSize">18sp</item>
</style>

<style name="TextAppearance.Large">
    <item name="android:textSize">22sp</item>
</style>

正如您所看到的,所有这些只会影响文本大小(TextAppearance.Small除外,这也会影响文本颜色)。因此,我可以有把握地说,该网站仅显示文字大小作为指导。另一方面,您始终可以添加自定义样式以支持TextAppearance.Micro!只需将其插入styles.xml

<style name="TextAppearance.Micro" parent="@android:style/TextAppearance.Small">
    <item name="android:textSize">12sp</item>
</style>

并使用它:

<TextView
    ...
    android:textAppearance="@style/TextAppearance.Micro" />

在一点点相关的说明中,当我搜索“textAppearanceMicro”时,我在GitHub上找到了3个项目。所有这些都添加了一些自定义属性,其中一个是textAppearanceMicro。此外,他们都使用ActionBarSherlock。我不知道textAppearanceMicroActionBarSherlock之间是否存在关联,但我没有发现该属性在代码中的任何位置使用过。

答案 1 :(得分:1)

如果您碰巧使用Google AppCompat库,则可以使用以下内容:

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/TextAppearance.AppCompat.Caption" />