我正在开发一个Android应用程序,在屏幕上使用TextView
来显示文本。
我使用以下属性为TextView
设置文本大小android:textAppearance="?android:attr/textAppearanceMedium"
。
我需要设置文本大小吗?还是它会自动由Android操作系统管理?
提前感谢。
是的,调整大小是在后台自动完成的。
在使用像 android:textAppearance
这样的属性时,它直接使用预定义的特定 sp 值作为 textSize:
android:textAppearance="?android:textAppearanceSmall" => 14sp
android:textAppearance="?android:textAppearanceMedium" => 18sp
android:textAppearance="?android:textAppearanceLarge" => 22sp
因此,它根据屏幕密度和用户的偏好自动调整值,使其在所有设备上看起来相等,例如dp值的公式:px = dp * (dpi/160)
对于仅用于字体的sp值也是类似的情况,它使用相同的概念,唯一的区别是由于用户在设置中设置的字体大小偏好而可能有所不同。
我没有使用:attr/
类型,因为它可能会被使用,也可能不会被使用,并且起到了同样的作用,因为系统资源工具知道在此上下文中预期的是属性资源,您无需显式地声明类型。
我需要设置文本的大小吗?还是由Android操作系统自动管理?
不需要,使用android:textAppearance="?android:attr/textAppearanceMedium
会使不同设备上的所有文本都以中等大小显示。这意味着您的应用程序在不同设备上的文本将具有相同的大小和重量。
要设置每个文本的大小,需要进行计算才能实现相同的大小和重量。
android:textAppearance="?android:attr/textAppearanceMedium
。 - N Sharma在Android文本元素中,有一个默认值首先被应用(类似于网页)。如果您希望覆盖它们并定义自己的值,则必须明确设置它们。android:textAppearance
是一种这样的覆盖方式,但是还有其他属性可以单独覆盖(而不是作为聚合体)... 您需要查看文档了解更多信息。
android:textAppearance
设置为TextView
,并且使用setText(15)
将文本大小设置为相同的TextView
,那么使用android:textAppearance
属性有什么用呢? - N Sharma
android:textAppearance
并手动设置文本大小? - N Sharmaandroid:textAppearance="?android:attr/textAppearanceMedium"
,你不需要改变字体大小,Android 会在所有显示中自动处理。 - Shayan Pourvatan