android:textAppearance
允许您为文本视图上的某些属性应用额外的样式层。我想知道这个功能的灵活性是否超过了它的复杂性。
android:textAppearance
吗?style
而忽略在布局中使用android:textAppearance
可能会产生什么后果?以下是推荐使用android:textAppearance
的两个指南:
Styling Views on Android (Without Going Crazy)
TextAppearance允许您合并两种样式 通常修改的文本属性。看看你的所有风格:如何 他们中的许多只修改文本的外观?在那些情况下,你可以 而只是修改TextAppearance。
Best practices for happy Android resources
为了确保外观一致的TextView,不要以正常样式定义任何TextAppearance属性,但始终在该样式的android:textAppearance字段中设置库中的TextAppearance。
答案 0 :(得分:1)
查看TextView.java
,似乎不存在android:textAppearance
定义的任何无法直接在TextView
上设置的属性。因此,似乎没有任何技术原因需要使用它们直接定义样式中的属性,至少可以配置TextView
的外观。
这意味着您可以避免在布局和样式中使用它而不会产生任何不利影响,只要您覆盖所有相关属性即可。基本主题为各种小部件定义了许多不同的标准android:textAppearance
,因此您应该检查是否已正确覆盖所有小部件。
根据我的经验,如果您希望自己的应用看似集成到设备的其余部分,android:textAppearance
最有用。因此,如果您需要大文本,可以使用android:textAppearance="?android:attr/textAppearanceLarge"
,现在您的文字很大!无需知道对于给定设备/屏幕尺寸/等意味着多少sp
。
但是,如果您的应用程序风格高,并且您无论如何都会覆盖所有文本大小,则android:textAppearance
的增值会减少。您当然可以在上面的帖子中使用它,但如果它不适合您的样式系统,那么请随意省略它。它只是帮助您在所有设备上获得漂亮应用的另一种工具。
如果您选择不使用该应用,我还建议您确保在各种设备上试用您的应用,只是为了确保您没有忽略覆盖默认android:textAppearance