有没有一种方法可以快速创建不同的屏幕布局?

时间:2019-08-11 23:20:34

标签: android android-layout

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

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

res / layout-sw600dp,以支持从7“到10”的设备

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

然后我也将填充这些布局,没问题。但是,现在想象一下一个具有大量类的项目,那么每次添加那些不同的布局所花费的时间就随之而来,尤其是在布局内部的视图不相同的情况下。

我在不同的网站上进行了很多搜索,发现使用wrap内容并匹配parent作为dimens.xml中的layout的height和width属性或大小的股票字符串值是一个好习惯,并且很多其他关于优化的好建议,但是似乎为我针对不同屏幕尺寸创建不同布局的一种也是唯一的方法就是我之前写的方法。

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

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

----编辑----

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

Select Orientation for Preview and create the wanted layout

Add the desired qualifiers and build the layout rapidly

1 个答案:

答案 0 :(得分:-1)

我不了解更快的含义。

但是您可以使布局更加灵活。

布局更灵活,屏幕显示所需的文件更少。

您可以使用ConstraintLayout

以下是ConstraintLayout的功能。

  1. 可以调整视图的位置,大小与其他视图的比例。

例如,如果您要使视图收费为屏幕高度的30%,则可以这样进行查看。

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

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

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