Android为什么即使在sp中指定了一个文本大小,所有设备的文本大小也不同?

Android为什么即使在sp中指定了一个文本大小,所有设备的文本大小也不同?,android,text-size,Android,Text Size,我想知道为什么我的文本视图大小对于不同的设备是不同的,即使我在sp或dp中设置了文本大小 请帮帮我。谢谢。解释了区别: 倾斜/dp(与密度无关的像素): 基于屏幕物理密度的抽象单位。 这些单位是相对于一个160 dpi的屏幕,所以一个dp是一个像素 在160 dpi的屏幕上。dp与像素的比率将随时间变化 屏幕密度,但不一定成正比。注:该 编译器同时接受“dip”和“dp”,尽管“dp”更为一致 加上“sp” sp(与比例无关的像素): 与dp单元类似,但它也会根据用户的字体大小进行缩放 偏爱。建

我想知道为什么我的文本视图大小对于不同的设备是不同的,即使我在sp或dp中设置了文本大小

请帮帮我。谢谢。

解释了区别:

倾斜/dp(与密度无关的像素):

基于屏幕物理密度的抽象单位。 这些单位是相对于一个160 dpi的屏幕,所以一个dp是一个像素 在160 dpi的屏幕上。dp与像素的比率将随时间变化 屏幕密度,但不一定成正比。注:该 编译器同时接受“dip”和“dp”,尽管“dp”更为一致 加上“sp”

sp(与比例无关的像素):

与dp单元类似,但它也会根据用户的字体大小进行缩放 偏爱。建议您在指定字体时使用此单位 大小,因此它们将根据屏幕密度和用户需求进行调整 偏好

并解释了
dp
sp
值可能不同的原因:

dp具有恒定的像素比率转换:
dp=px*比率
。 比率在任何特定设备上都不会改变

sp具有可缩放比例:
sp=px*比例*比例
。比率从不 更改,但缩放是用户可配置的。此标尺可由以下人员使用: 例如,需要更大字体的人可以更多地使用设备 舒服地


对于不同的设备,没有不同,但从布局文件查看时,它看起来很小

这里有一个例子-

从2.7英寸QVGA屏幕(在布局文件中)查看-

从10.1英寸WXGA(平板电脑)屏幕查看(在布局文件中)-


但这只是由于计算机的显示器屏幕上可用的空间有限。但是从真实设备查看时,文本的大小将相同

平板电脑屏幕上有很大的可用空间,因此当在电脑屏幕上查看平板电脑布局时,平板电脑屏幕的大小会减小,以适应电脑显示器的屏幕

但是,对于屏幕较小的设备,与设备的屏幕大小相比,计算机显示器的屏幕上有大量可用空间,因此设备的屏幕在电脑的布局文件上会相应增大


如果您想查看选项卡和小屏幕设备上文本的实际大小,请单击下图所示的图标-

此按钮-

布局文件中选项卡的大小将增大。而较小的设备的大小可能会减小(如果已经是默认大小,则可能不会减小)


结果(片剂)-


一种处理方法-

我们的工作就是要占据标签上的大空间。为此,您可以创建不同的布局文件以适应不同的屏幕尺寸

以下是选项卡屏幕的布局文件名-

layout-sw600dp drawable-sw600dp  //For 7" tab

layout-sw720dp drawable-sw720dp  //For 10" tab

你所说的尺寸不同是什么意思?您使用什么单位进行实际测量?英寸、dps、像素或其他东西?您在哪些设备上测试了代码???请使用以下布局文件。布局mdpi、布局hdpi、布局xhdpi、布局xxhdpi、布局sw600dp、布局sw720dp。在每个布局或后续样式中是否有合适的文本大小?我可以知道,文本视图与屏幕分辨率的比率不同。首先,我在Android SDK模拟器(480x800)中进行了测试,然后在bluestacks模拟器(1366x768)中进行了测试。如果可能,我不想修改布局文件。我正在获取DisplayMetrics的ScaledDensity,然后维护sp和dp的值。我希望您能评论一下为什么这会被忽略,因为您让人困惑@Mizzle