布局元素的父元素是什么?

时间:2019-06-27 15:29:34

标签: android android-layout

我是Android开发的新手,所以这可能是一个显而易见的问题,但是我查看了多个来源,但找不到答案。如果将widget元素放置在layout元素内,那么这些widget的父元素就是layout元素,对吗?那么,布局的父元素是什么?因为在默认生成的文件activity_main.xml(用于布局)中,最顶部的约束布局元素具有属性 android:layout_width =“ match_parent” 。那么,此约束布局元素的父级是什么?

3 个答案:

答案 0 :(得分:0)

基本上,我们将父布局用作线性布局/相对Layou / ConstraintLayout /框架布局等。因此,所有这些都是扩展ViewGroup的类。请参阅Google开发者文档以获取更好的理解。

阅读本-

https://developer.android.com/reference/android/view/ViewGroup.html

答案 1 :(得分:0)

match_parent是视图根据其父级延伸的固定值。 例如,假设您在RelativeLayout中有一个Textview。如果将Textview设置为与父级匹配,则它将根据其父级/根视图(相对布局)进行拉伸。

因此基本上,它的高度和宽度与父版式相同。

答案 2 :(得分:0)

您的ConstraintLayoutActivity的根布局,但这只是系统创建的布局的一部分。

例如,您可以获取ConstraitLayout的父级布局的引用:

ViewGroup layoutRoot = findViewById(android.R.id.content);

设置match_parent时,View(布局是ViewGroup,而只是View)将尝试填充其父布局中的可用空间。因此,以某种方式,它只是告诉您视图在X / Y轴上可以增长多少。对于您而言,您的ConstraintLayout会不断增长,以匹配android.R.id.content

当然,堆栈的顶部有一个视图(可能是decorView的{​​{1}}),由系统创建,并假设Window上有整个可用区域由系统创建。