使用RelativeLayout在所有设备上查看相同的布局

时间:2013-05-05 16:20:33

标签: android relativelayout adt mobile-devices screens

我正在使用API​​ 10.

我想让我的布局在所有设备上看起来都一样。我可以将LinearLayoutweights一起使用来实现这一目标。它完美地运作。如下图所示,这正是我想要实现的目标,并且完美运行:

enter image description here

但是出现的问题有两个:

  • 1)由于嵌套权重,我收到了性能低下的警告。
  • 2)我不能使动画超出父线性层的范围, 如下图所示:

enter image description here

所以,我决定使用RelativeLayout进行布局。但主要问题是我无法在所有设备上获得相同的布局,例如LinearLayout和权重的使用。我花了两天时间寻找解决方案并阅读ADT文档。根据文档,我必须将ImageViews缩放到系数3:4:6:8:12,以匹配ldpi/mdpi/hdpi/xdpi/xxdpi。所以我做了:我创建了相应的@drawble文件夹,在文档中重新调整了按钮的大小,并将它们放在匹配的文件夹中。结果如下:

enter image description here

这是一团糟,这是完全不可接受的,原因有两个:

  • 1)屏幕可以具有一定的密度,例如hdpi,但它们 不同设备的屏幕尺寸不同。
  • 2)当我使用相对于元素的dp单位时,例如:from 在父级的顶部,我提供的值与屏幕大小不同 尺寸。它不是像LinearLayout那样的百分比。

那么,我从哪里开始呢?我从我的研究中得出结论,唯一的(或不?)解决方案是为不同的密度制作不同的布局屏幕尺寸。像res/layout-mdpi-large/my_layout.xml之类的。但如何根据屏幕尺寸计算相对组件的尺寸和距离的dp?我是否必须诉诸此列表?这些都是设备吗?:

enter image description here

任何提示,最佳做法,工作流指南,什么?

0 个答案:

没有答案