【发布时间】:2020-06-15 20:06:15
【问题描述】:
有一个系统范围的“字体大小”设置允许调整文本大小。
它通常运行良好,但在某些情况下会发生特殊情况,视图的特定部分应忽略此设置,字体大小应保持不变。
我知道how to prevent system font-size changing effects to android application?
但dp 接受的答案现在(Android 10)不起作用(https://stackoverflow.com/a/21546897/4130619)
https://stackoverflow.com/a/57225687/4130619 移除整个活动的缩放,https://stackoverflow.com/a/39346113/4130619 移除整个应用的缩放。
受影响的代码,dp 尝试已使用(但失败):
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:id="@+id/compassNorth"
android:layout_alignParentTop="true"
android:text="@string/compass_north_one_letter"
android:textColor="#000"
android:textSize="10dp"/>
N (compass_north_one_letter) 正在改变大小:
【问题讨论】:
-
“但是现在接受的 dp 答案(Android 10)不起作用”——截图会有所帮助。
-
@CommonsWare 我不确定屏幕截图会有什么帮助 - 文本正在改变大小,而我想阻止它。如果我以某种方式幻觉文本大小的变化,也许会有所帮助?反正我会加的。
-
有趣(在 Android 8.1 上这不会发生)。您是否使用过布局检查器来查看 TextView 真正呈现的内容?
-
“如果我以某种方式幻觉文本大小的变化,也许会有所帮助?” ——不,但我需要看看你在看什么。我拿了你的
TextView,把它放在一个废品项目中,在运行 Android 10 的 Pixel 4 上运行它,但我没有得到你所看到的效果。我将字体比例提升到最大,N 的大小与字体比例正常时的大小相同,即使在终止该过程之后也是如此。因此,创建一个废品项目,将您的TextView放入其中,然后尝试在您用于这些屏幕截图的设备上运行它。如果问题存在,则可能是硬件差异。 -
您可以在 textview 中使用自定义字体,这样它就不会受到任何更改的影响。可能的解决方案stackoverflow.com/a/27588966/9044222
标签: android text scaling autoscaling