Android中TextView的TextAppearance属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中TextView的TextAppearance属性相关的知识,希望对你有一定的参考价值。

我正在使用android应用程序,我正在使用TextView在屏幕上显示文本。

我正在使用此属性为TextView设置文本android:textAppearance="?android:attr/textAppearanceMedium"的大小。

我是否还需要设置该文本的大小,还是由Android操作系统自动管理?

提前致谢。

答案

在Android文本元素中,首先应用默认值(类似于网页)。如果您希望覆盖它们并定义自己的,那么您必须明确设置它们。 android:textAppearance是一个这样的覆盖,但是你可以单独覆盖其他属性(而不是聚合)...你会想要看到它的文档。

另一答案

是的,调整大小在后台自动完成。在使用像android:textAppearance这样的属性时,它直接使用textSize的预定义特定sp值作为 -

android:textAppearance="?android:textAppearanceSmall" => 14sp

android:textAppearance="?android:textAppearanceMedium" => 18sp

android:textAppearance="?android:textAppearanceLarge" => 22sp

因此,它会根据屏幕密度和用户的偏好自动调整值,使得它在所有设备上看起来相等,例如dp值的公式:px = dp *(dpi / 160),类似的情况是sp值仅用于字体,它仅使用相同的概念,因为它可能会因设置中设置的用户fontSize首选项而有所不同。

我没有使用那个:attr/类型,因为它可能会或可能不会被使用并起到相同的作用,因为系统资源工具知道在此上下文中需要属性资源,您不需要显式声明该类型。

以下是外部资源的链接:

textAppearance equivalent sp size, "Android Developers, Google + article"

Accessing Resource, "look for :attr"

另一答案

我是否还需要设置该文本的大小,还是由Android操作系统自动管理?

不,使用android:textAppearance="?android:attr/textAppearanceMedium将在不同设备上制作中等大小的所有文本。这意味着您在不同设备上的应用文本将具有相同的大小和重量。

设置每个文本的大小需要计算才能达到相同的大小和重量。

以上是关于Android中TextView的TextAppearance属性的主要内容,如果未能解决你的问题,请参考以下文章

Android中用TextView显示大量文字的方法

Android中TextView的TextAppearance属性

android中textview的圆角

Android中TextView的水平和垂直居中文本

Android从零单排系列六《Android视图控件——TextView》

Android从零单排系列六《Android视图控件——TextView》