简单的Android布局说明

时间:2013-08-17 06:47:02

标签: android android-layout

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

我开发了一款小型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

我也会看this

解决 为了解决这个问题,上面的内容正是如此。事实证明,从Android的角度来看,Nexus S更“正常”而Galaxy Nexus将从“sw360dp”中拉出来(而不是将Galaxy Nexus视为“正常”而Nexus S为例外) sw360dp,values-sw360dp)配置文件是否可用。因此,使用值-sw360dp中的常规字体大小创建styles.xml,然后将默认的styles.xml字体更改为较小的值就可以了。

2 个答案:

答案 0 :(得分:0)

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

layout-largelayout-small等, 然后确保它固定,以便你的xml适合设备,

仅供参考:ldpi手机将从您的布局中获取您的布局xml,因此您不必担心其他设备。 这是link that help you

答案 1 :(得分: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最佳做法设置的设计指南,这是最佳方法。