【问题标题】:build dynamic android layouts构建动态android布局
【发布时间】:2011-12-01 05:16:05
【问题描述】:

我正在尝试构建具有动态布局的 Android 应用程序以支持多个屏幕

我正在考虑为具有固定尺寸的特定设备(如 Motorola Droid)构建我的所有应用程序,假设按钮的宽度为 50 宽度为 50 高度

在我完成所有应用程序后,我将重新编辑元素的大小,使其成为正确位置与新设备尺寸之间的比例

Drawables 也将是 Scalable Drawables,我将仅使用 Drawables 文件夹并删除其他文件夹: - 可绘制的 hdpi - 可绘制的 ldpi - 可绘制的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 // 超高密度位图

【问题讨论】:

    标签: java android layout dynamic


    【解决方案1】:

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

    【讨论】:

    • 你说得对,但如果我的应用有很多细节,请考虑不同的尺寸和屏幕。
    • 我很担心。另一个好的实现,假设您的布局不在画廊/水平滚动视图/或其他需要滚动的视图中,是将所有内容放在 LinearLayout 中,并将 LinearLayout 放在 ScrollView 中。
    • 所以我在这里:每个活动只有一个 Drawables 文件夹和一个布局 xml 文件?!
    • 没错。越简单越好。
    【解决方案2】:

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

    希望对您有所帮助。

    谢谢。

    【讨论】:

    • 这里的重点,我只需要编写一个布局文件,每个按钮只使用一个图像
    猜你喜欢
    • 2016-01-01
    • 2012-01-11
    • 2021-04-10
    • 2017-12-21
    • 2014-05-13
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多