gpt4 book ai didi

android - 真实设备和模拟器中的 TextView 大小不同

转载 作者:行者123 更新时间:2023-11-30 00:11:48 26 4
gpt4 key购买 nike

之前提出的问题和解决方案都不适合我。

对于 setTextSize() 方法,当我给出如下硬编码值时:

textView.setTextSize(16)

文本在模拟器和设备上看起来大小相同。

但是,当我在尺寸文件中给出尺寸时:

<resources>
<dimen name="default_text_size">5sp</dimen>
</resources>

我已经尝试了两种编程方式来设置这个大小:

defaultTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, getContext().getResources().getDimension(R.dimen.default_text_size));

defaultTextView.setTextSize(getContext().getResources().getDimension(R.dimen.default_text_size));

它们在真实设备和模拟器上显示的大小不同。

请参阅随附的屏幕截图。

知道如何解决这个问题吗?我知道它会根据屏幕分辨率而变化,但这是一个巨大的变化。在模拟器的情况下,整个文本在 ListView 行的上半部分缩小了。这不是我想要的。

Emulator

Real Device

最佳答案

Scale-independent Pixels (sp) - this is like the dp unit, but it is also scaled by the user's font size preference. It is recommended you use this unit when specifying font sizes, so they will be adjusted for both the screen density and user's preference.

当您将文本的大小单位(在 TextView 中)设置为 sp 时,它还取决于用户/设备的字体大小首选项。因此,在不同的设备上,您的文字可能会有所不同。

如果您希望您的文本在任何地方都显示相同(无论用户的字体大小偏好如何),请改用 dp:

<resources>
<dimen name="default_text_size">5dp</dimen>
</resources>

关于android - 真实设备和模拟器中的 TextView 大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48038071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com