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