Android Studio布局之间的差异

时间:2019-08-07 16:32:19

标签: android android-layout

我是android studio的新手,无法选择布局。有5种不同的布局。我正在使用约束布局,因为它是默认布局。我的一些朋友说很难使用。这些布局之间的主要区别是什么?

2 个答案:

答案 0 :(得分:0)

如果在Web开发中使用过布局系统(例如引导程序或某些网格系统),则会发现它易于理解。最初,“约束布局”可能看起来很吓人,而且不容易理解,但确实以响应方式定位视图增加了很多功能。

  

约束概述

     

要在ConstraintLayout中定义视图的位置,必须至少添加   视图的一个水平约束和一个垂直约束。每   约束表示与另一个视图的连接或对齐,   父级布局或不可见的准则。每个约束定义   视图沿垂直或水平轴的位置;所以每个   视图必须对每个轴至少有一个约束,但是通常   还有更多的必要。将视图放到布局编辑器中时,   即使没有任何限制,它也会停留在离开它的位置。但是这个   只是为了使编辑更容易;如果您没有视图时的约束   在设备上运行您的布局,它会绘制在位置[0,0](   左上角)。

尝试此Codelab:

https://codelabs.developers.google.com/codelabs/constraint-layout/index.html?index=..%2F..index#0

一些资源:

https://developer.android.com/training/constraint-layout#constraints-overview

https://developer.android.com/training/constraint-layout

https://www.youtube.com/watch?v=P9Zstbk0lPw

我个人使用协调器和相对布局。如果愿意,可以尝试一下。我建议您必须从这两个开始,但一定要在示例项目中尝试其他布局并了解它们。

https://github.com/codepath/android_guides/wiki/Constructing-View-Layouts

答案 1 :(得分:0)

我找到了very clear answer

  

FrameLayout 用于容纳一个子对象。例如,将Recycler View放在FrameLayout内,但是没有其他内容。

     

CoordinatorLayout 是FrameLayout的改进版本。最常用   用于提高子对象的性能。例如,让我们   说我们有一个ListView,我想更改滚动行为   当用户交互发生时。我可以在其中使用CoordinatorLayout   使ListView表现出我想要的效果。

     

LinearLayout 用于将子对象沿一个方向对齐,即   水平或垂直。例如,如果我有一个TextView,   ImageView和EditText,我希望它们排成一行,因此我可以使用   使用水平方向的LinearLayout可以做到这一点。

     

RelativeLayout 比上面两个要复杂一些,但要复杂得多   能力。 RelativeLayout旨在对齐子对象   相对于父对象或其他子对象的位置。例如,   如今,我们通常在屏幕末尾有一个按钮   右侧,完成此操作的方式我们将RelativeLayout创建为   父项,然后在其内部使用参数alignParentBotton的按钮   并alignParentRight = True。

     

ConstraintLayout 是RelativeLayout的更新版本,即提供   与RelativeLayout相比,参数更多,功能得到了改善。

相关问题