【发布时间】:2013-02-14 10:56:14
【问题描述】:
我意识到这个话题已经被覆盖到死了,我已经阅读了官方和非官方的开发者指南,所以了解了这个理论。但我仍然不确定采取哪种方式来确保我的应用在多种屏幕尺寸上看起来都不错。我的应用程序是一个简单的导航风格应用程序,仅设计为纵向。在这个阶段,我对为平板电脑等的横向或多窗格屏幕进行不同的设计不感兴趣。我只希望每个屏幕都按比例放大/缩小,以便它看起来与其显示的屏幕尺寸成比例 - 即文本和图像的大小会酌情放大/缩小。我为经典的 480x800 hdpi 设备设计了该应用程序,它看起来很棒,我只是想让它看起来与 Galaxy S3/Nexus 7 等成比例。我已经遵循这些准则:
- 使用相对布局
- 使用 DP 单位进行填充/边距
- 对字体使用 SP 单位
- 为按钮使用 9-patch 图像
但是我发现它在较大设备上的屏幕中间看起来仍然很小并且有点丢失。特别是,我的主菜单屏幕是一个由 6 个图像按钮组成的网格,我无法很好地缩放。我不想有多个副本来维护同一个屏幕(正常/大/超大),只想要一个布局。我正在考虑以下内容:
- 使用 value-normal/value-large 等文件夹来存储具有 DP/SP 值的图像/文本大小的 XML 文件
- 将 RelativeLayouts 更改为具有权重的 LinearLayouts(尽管我最初使用 LinearLayouts 并更改为 RelativeLayouts
这些方法是否有效,或者有更好的方法吗?
【问题讨论】:
-
我不知道它是否是一个好方法,但是您可以在运行时获取设备的尺寸并相应地缩放您的布局/视图。也使用
layout-weight是一个很好的解决方案。
标签: android android-layout layout scaling android-screen-support