【问题标题】:Android Text Scaling on different resolutions same density不同分辨率相同密度的Android文本缩放
【发布时间】:2013-03-11 23:55:38
【问题描述】:

我有 2 台设备,一台运行 Gingerbread 的 1024x600 7" 平板电脑 hdpi 和一个连接到尺寸为 1920x1008 22"、运行 ICS 的 hdpi 触摸屏的集线器。 Android 操作系统似乎将两者都视为“大”(240dp)。

因此,它们具有相同的实际密度 (240dpi)、相同的广义密度 (hdpi)、相同的广义尺寸(大)但实际尺寸不同(7" 与 22")

我为布局指定的文本和间距尺寸在 22" 上效果很好,但在 7" 上它们看起来很大并且不适合屏幕。

我尝试过使用 dp 和 sp,没有区别,因为我认为问题在于 Android 将这些东西视为相同的大小/密度。有人对我如何能够适当地缩放尺寸有任何建议吗? 该程序最终也需要在 4.5 英寸手持设备上得到支持。

提前致谢。

【问题讨论】:

    标签: android size resolution


    【解决方案1】:

    对不起,我之前的回答完全错误=)

    理想情况下,您应该能够为 7" 平板电脑进行设计,并将您的布局扩展到电视。但如果这不起作用,您应该能够使用 layout-sw1008dp 之类的东西。“sw”前缀允许您指定屏幕最小边的最小尺寸 - 因此在电视的情况下,高度。

    【讨论】:

    • 是的,我认为这就是让我感到困惑的原因 - 更大的实际上不是带有内置屏幕的设备,而是一个带有 HDMI 输出的盒子,屏幕范围从 22 英寸到 42 英寸不等.但同样,Android 仅将其视为“大型”设备。不知道如何解决这个问题...
    • 我为 values-1920x1008 和 values-1024x600 添加了资源文件夹 - 现在我可以修改每个文件夹中的值并将它们用于适当的设备。感谢您的帮助!
    【解决方案2】:

    我的应用程序也面临这样的问题。但我找到了一个很好的解决方案。 我只有tablet 的一种布局,目录名称是layout-sw600dp。 现在,当部分涉及高度和宽度问题时,我创建了几个不同的values 目录,我在其中放置了dimensionsfont size 以及其他存根。所以平板屏幕的layout 中不会有constant 的值。

    androd:layout_width:"60dp" // i drop this scenario
    
    androd:layout_width:"@dimen/tab_width" // i used this scenario
    

    您的values 目录名称将类似于

    values-xlarge
    values-large
    

    所有值都将从您的值目录中获取。它不会创建不同的布局,但一个布局可以多次使用。

    请查看我的stack answer,这可能会对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      • 2011-02-26
      相关资源
      最近更新 更多