关于活动的根视图,我有一个非常微不足道的困惑。我在谷歌和堆栈溢出搜索这个。我对它有一些了解,但没有找到令人信服的解决方案,因为没有人明确说过这个术语。我的问题似乎相似的问题是关于给定布局的根视图是什么,但对我来说,他们似乎没有指定活动的根视图。尽管我的问题的答案非常直观,我想要一个没有混淆的明确答案。所以这里是代码结构。 我有以下活动课程:
package com.example.android.viewpager;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
创建活动时与之关联的XML代码是(activity_main.xml):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android.viewpager.MainActivity">
</LinearLayout>
所以我认为这是activity_main.xml
MainActivity
答案 0 :(得分:1)
MainActivity
的根视图 LinearLayout
您的活动的根View
表示您XML
布局的最顶级父布局
根视图可以是
RelativeLayout
,CoordinatorLayout
,ConstraintLayout
,LinearLayout
,FrameLayout
例如
您的activity_main.xml
包含 LinearLayout
作为父级布局而不是 LinearLayout
是您的根视图,其中包含所有子控件例如Buttons
,Imageview
,EditText
,TextView
等....
答案 1 :(得分:0)
activity_main.xml
是MainActivity
的布局。在布局内部,根视图是顶部分层视图,在这种情况下是LinearLayout
。它也可以是RelativeLayout
,CoordinatorLayout
,ConstraintLayout
等。
答案 2 :(得分:0)
activity_main
不是根视图。这是定义活动布局的XML文件。
根视图是此布局中的视图,包含所有其他视图。
在您的示例中,根视图是LinearLayout
执行setContentView(R.layout.activity_main);
时,系统将解析XML文件,并使用attibute和所有内容创建定义到其中的所有视图和子视图
例如,如果您的XML定义如下:
<RelativeLayout
...
>
<TextView
android:text="HelloWorld"
... />
</RelativeLayout>
当视图膨胀时,您将以RelativeLayout
对象结束,该对象在其某个字段中包含一个包含“HelloWorld”的TextView
对象。
在此示例中,根视图是RelativeLayout
答案 3 :(得分:0)
能够保存子视图的第一个视图将被称为根视图。在您的情况下,线性布局将是您的根布局