【问题标题】:Is there a way to fast create different screen layouts?有没有办法快速创建不同的屏幕布局?
【发布时间】:2019-08-17 20:13:21
【问题描述】:

使用 Android Studio 并不得不处理多种屏幕尺寸,这让我想知道,是否有一种方法可以比常用方法更快地为每种尺寸创建不同的布局文件

示例:我创建了一个新项目,有我的 MainActivity 及其布局 activity_main.xml(手机设备的默认设置),我将填充我的布局,然后将其复制到另外两个目录中:

res/layout-sw600dp 以支持 7" 到 10" 的设备

res/layout-sw720dp 适用于大于 10 英寸的设备

然后我也会填充这些布局,没问题。但是现在想象一个有大量类的项目,每次添加这些不同的布局所花费的时间是随之而来的,特别是如果布局内的视图不相同。

我在不同的网站上对此进行了很多搜索,我发现使用 wrap content 和 match parent 作为布局的高度和宽度属性或在 dimens.xml 中存储大小的字符串值是一个很好的做法,而且很多其他关于优化的好建议,但似乎为不同屏幕尺寸创建不同布局的唯一方法是我之前写的。

那么,是否有人找到/知道一种更快的方法来处理这些屏幕尺寸?

我正在寻找可以通过这种方式提供帮助的所有解决方案:软件工具、修改 android studio 中的一些文件、sn-ps 代码、在线模板编辑器... 或者一个简单的“不,这不可能以另一种方式做”也可以,如果您根据自己的经验/知识完全确定的话。

---- 编辑----

我发现了一种快速创建其他布局的好方法,这个选项是 Android Studio 布局编辑器中的“预览方向”。 从那里,您可以根据实际布局直接快速地创建景观和其他尺寸的布局。我在图片中分享如何做,以防它可以帮助某人:

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    我不明白 faster 的含义。

    但是你可以让你的布局更加灵活。

    布局更灵活,屏幕各种需要的文件更少。

    您可以使用 ConstraintLayout

    以下是 ConstraintLayout 的特点。

    1. 可以根据其他视图的比例调整视图的位置、大小。

    例如,如果你想让一个视图收取屏幕高度 30% 的费用,你可以这样设置。

    此外,您可以将视图置于屏幕高度的 20%(0 = 屏幕顶部,100 = 屏幕底部)

    1. 可以替换任何其他布局视图组(除了CoordinatorLayout、MotionLayout...)

    2. 在 iOS 中也使用了相同的使用约束的概念。以后有打算学习iOS的话可以更好的理解。

    【讨论】:

    • 感谢有关屏幕高度的提示,我也不知道类似的系统可以应用于 iOS。但是,当我谈到更快的方法时,我的意思是一种避免手动创建所有不同尺寸分辨率布局的选项。
    猜你喜欢
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多