【问题标题】:Android why text size is different for all devices even if one text size in sp is specified?Android为什么即使指定了sp中的一种文本大小,所有设备的文本大小也不同?
【发布时间】:2014-09-30 13:40:06
【问题描述】:

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

请帮助我。谢谢。

【问题讨论】:

  • 大小不同是什么意思?您使用什么单位进行实际测量?英寸、dps、像素还是其他?
  • 你在哪些设备上测试了你的代码???
  • 请使用以下布局文件。布局-mdpi,布局-hdpi,布局-xhdpi,布局-xxhdpi,布局-sw600dp,布局-sw720dp。每个布局中的适当文本大小或遵循样式?
  • 通过textview与屏幕分辨率的比例可以知道大小不同
  • 首先我在 Android SDK 模拟器 (480x800) 中进行了测试,然后我在 bluestacks 模拟器 (1366x768) 中进行了测试。如果可能的话,我不想修改布局文件。我得到了 DisplayMetrics 的 ScaledDensity,然后保持 sp 和 dp 的值。

标签: android text-size


【解决方案1】:

This post 解释区别:

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

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

sp(缩放独立像素):

类似于 dp 单位,但它也按用户的字体大小进行缩放 偏爱。指定字体时推荐使用本单位 尺寸,因此它们将根据屏幕密度和用户的密度进行调整 偏好。

this post 解释了为什么dpsp 的值可能不同:

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

sp 具有可缩放比例:sp = px * ratio * scale。比率从不 变化,但规模是用户可配置的。该量表可用于 需要更大字体大小的人,例如,为了更多地使用设备 舒适。

【讨论】:

    【解决方案2】:

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

    这是一个例子-

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

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


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

    平板电脑屏幕上有大量可用空间,因此在查看平板电脑布局时在计算机屏幕上的布局平板电脑屏幕的尺寸会缩小以适应计算机显示器的屏幕。

    但是对于小屏幕设备,与设备的屏幕尺寸相比,您的计算机显示器屏幕上有很多可用空间,因此设备的屏幕尺寸会在 PC 的布局文件 适合。


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

    这个按钮 -

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


    结果(平板电脑)-


    处理它的方法-

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

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

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

    【讨论】:

    • 我会很感激评论为什么这被否决
    • 因为你把人弄糊涂了@Confuse
    猜你喜欢
    • 2019-07-30
    • 2016-05-25
    • 1970-01-01
    • 2017-06-11
    • 2013-07-23
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多