【问题标题】:Is there any dimens.xml with standart dimensions?有标准尺寸的dimens.xml 吗?
【发布时间】:2014-06-23 09:19:04
【问题描述】:

我想知道是否有一些 web 或带有 dimen.xml 文件示例的东西来支持多种屏幕尺寸?

【问题讨论】:

  • 你必须在不同的values-xy文件夹中提供不同的dimens.xml文件
  • 是的,我知道。但是,我要求的是 dimens.xml 示例。如果我为我的 S3 (720x1280 - 320dpi) 制作一个 150dpx150dp 的图标,那么这些尺寸不适合例如 S2 (480x800 - 217dpi)。我想知道的是一种计算方法,将dimen.xml中的尺寸转换为另一种分辨率。
  • 如果你使用 dp 而不是 px,一切都应该可以很好地扩展。请注意,API 级别 11 引入了 16 dp 的填充,而 API 级别 14 引入了 32 dp 的填充。

标签: android screen dpi


【解决方案1】:

Android 可在提供不同屏幕尺寸和密度的各种设备上运行。对于应用程序,Android 系统提供跨设备一致的开发环境,并处理大部分工作以将每个应用程序的用户界面调整到显示它的屏幕。同时,系统提供 API 允许您针对特定屏幕尺寸和密度控制应用程序的 UI,以便针对不同的屏幕配置优化您的 UI 设计。例如,您可能希望平板电脑的 UI 与手机的 UI 不同。

虽然系统会执行缩放和调整大小以使您的应用程序在不同的屏幕上运行,但您应该努力针对不同的屏幕尺寸和密度优化您的应用程序。这样做,您可以最大限度地提高所有设备的用户体验,并且您的用户相信您的应用程序实际上是为他们的设备设计的,而不是简单地拉伸以适应他们设备上的屏幕。

关注This Link

【讨论】:

    【解决方案2】:

    是的,您可以为多个屏幕分辨率创建存储不同尺寸值的值文件夹: 例如,您可以将 res 中的文件夹命名为 values-720x1280values-320x480values-240x320 和将dimens.xml放在每个文件夹中,其中包含不同的值...

    您可以使用尺寸定义自定义高度(假设为 720X1280 设备),如下所示:

     <?xml version="1.0" encoding="utf-8"?>
        <resources>
            <dimen name="icon_width">55dip</dimen>
            <dimen name="icon_height">55dip</dimen>
            <dimen name="photo_width">170dip</dimen>
            <dimen name="photo_height">155dip</dimen>
        </resources>
    
    and for values-320x480 dimens.xml:
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <dimen name="icon_width">20dip</dimen>
        <dimen name="icon_height">20dip</dimen>
        <dimen name="photo_width">100dip</dimen>
        <dimen name="photo_height">100dip</dimen>
    </resources>
    

    然后在你的其他 xml 中引用它们:

    android:layout_height="@dimen/icon_height">
    

    现在试试,告诉你的经验

    HoneyComb 提供了一种解决所有这些问题的新方法。您的资源文件夹现在应该如下所示:

    【讨论】:

    • 我的意思是是否有办法自动计算(创建)其他dimens.xml 或其他东西。我有一个很大的 dimens.xml,我需要创建其余的分辨率 ldpi、mdpi 等。有这样的工具吗?
    • 我刚刚看到您编辑的帖子。例如,icon_width 是 55dip 和 20dip。你怎么知道这是适合 320x480 屏幕的正确尺寸?
    • 您在寻找比例因子吗? ldpi = 0.75, mdpi = 1.0, hdpi = 1.5, xhdpi = 2.0, xxhdpi = 3.0, xxxhdpi = 4.0
    • 当您像我所说的那样创建文件夹时,android 将自动检测设备的接近分辨率和精确分辨率,并从特定尺寸设置值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多