-1

我已经看到其他问题解决了这个问题,但答案似乎从来不适合我的问题,所以我想我会问自己。

我开发了一个小型 Android 应用程序,最初针对 Galaxy Nexus 模拟器对其进行了测试。然后我在 Galaxy S4 上对其进行了测试。最终我想让它在更多的设备上可用,并开始实现一些支持库。

当我去测试这个时,我开始使用 Nexus S 2.3 模拟器图像,我意识到我的布局超出了屏幕。看看这两个“设备”的屏幕尺寸,这是有道理的。所以我会创建一个不同的布局(或者可能是一个不同的带有较短标签名称的strings.xml,但现在我们只关注布局)将由Nexus S使用。

不幸的是,我找不到导致 Nexus S 拾取它而 Galaxy Nexus 没有的文件夹名称。

更重要的是,我什至不确定这是否被认为是好的设计。我想我可能已经读过,一般来说,手机(与平板电脑等)应该使用相同的布局(尽管老实说这对我来说是错误的)。

有人可以解释我看到的行为并告诉我如何设置它,以便我为两个设备设置不同的布局(或者为什么这是一个坏主意)?

也许这两者的结合会有所帮助。问题可能是我试图为较小的设备创建一个布局以针对 Nexus S,而事实上,它被认为是“正常的”,我应该一直在尝试创建一个针对“更大”的 Galaxy Nexus 的布局...

Galaxy Nexus
Nexus S

我也会看这个

解决 了只是为了结束这个,上面正是它所需要的。与其将 Galaxy Nexus 视为“正常”而将 Nexus S 视为例外,事实证明,从 Android 的角度来看,Nexus S 更“正常”,而 Galaxy Nexus 将从“sw360dp”(布局- sw360dp, values-sw360dp) 配置文件(如果可用)。因此,在 values-sw360dp 中使用我的常规字体大小创建一个 styles.xml,然后将默认 styles.xml 的字体更改为较小的值就可以了。

4

2 回答 2

0

res/layout/my_layout.xml // 正常屏幕尺寸的布局(“默认”)

res/layout-small/my_layout.xml // 小屏幕布局

res/layout-large/my_layout.xml // 大屏幕布局

res/layout-xlarge/my_layout.xml // 超大屏幕的布局

res/layout-xlarge-land/my_layout.xml // 横向超大布局

res/drawable-mdpi/my_icon.png // 中等密度的位图

res/drawable-hdpi/my_icon.png // 高密度位图

res/drawable-xhdpi/my_icon.png // 超高密度位图

这是根据为 Android UI 最佳实践设置的设计指南的最佳方法。

于 2013-08-17T08:54:33.277 回答
0

您必须在 res 文件夹中进行不同的布局,以确保布局适合每个设备,只需复制并粘贴您的 xml,这会在不同的布局中产生问题,即

layout-largelayout-small,然后将其修复,以便您的 xml 适合设备,

仅供参考:ldpi 手机将从您的 layout-small 中获取您的布局 xml,因此您不必担心其他设备。这是可以帮助您的链接

于 2013-08-17T06:58:47.880 回答