构建动态android布局

时间:2011-12-01 05:16:06

标签: java android layout dynamic

我正在尝试使用动态布局构建Android应用以支持多个屏幕

我正在考虑为像摩托罗拉Droid这样的固定尺寸的某个设备构建我的所有应用程序,说该按钮将是50宽度50高度

在我完成所有应用程序之后,我将把元素的大小重新编辑为它们正确的位置和新设备的尺寸之间的比率

Drawables也将是可伸缩的Drawables,我将只使用Drawables文件夹并删除其他文件夹:   - drawable-hdpi   - drawable-ldpi   - drawable-mdpi

所以我只有一个Drawables文件夹,每个活动只有一个布局xml文件

我的大多数布局都将使用java进行硬编码

所以问题是:这是一种真正的发展方法吗?!

可能你会问,为什么?

所以我的回答是,因为我认为我的方法比使用方法更容易:

  • 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 //用于超高密度的位图

2 个答案:

答案 0 :(得分:1)

创建支持所有屏幕尺寸的布局的最简单(也可能是最佳)方法是使用RelativeLayout

答案 1 :(得分:1)

AFAIK您可以通过将图像保存在drawable-hdpi,drawable-mdpi,drawable-ldpi文件夹中来管理不同设备的资源变化。 然后通过指定layout-small,layout-large,layout-xlarge为不同的屏幕尺寸类别提供不同的布局来筛选尺寸。 您还可以使用九个补丁和相对布局check this google official documentation regarding this topic来增加支持的设备数量。

希望这有帮助。

感谢。