0

嗨,如果您查看 java,最顶层的容器可能是“window”或“JFrame”,我们将在其中布置所有其余的 gui 组件。在 Android 中,对于每个活动,我们将在 xml 中定义一个布局以与 tthis 活动一起使用。所以当这个活动被加载时,它会加载相关的布局。那么这个布局是在哪里绘制的。我的意思是它首先会创建一个默认窗口并开始在其上绘制布局,或者这是如何发生的?

4

5 回答 5

0

最顶层的容器是一个内部类DecorView,它是FrameLayout. 你可以在这里找到一些关于它的信息

于 2013-03-26T11:04:04.023 回答
0

让我们假设以下是您的 xml 布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView  
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 

        android:scaleType="center"
        android:src="@drawable/golden_gate" />

    <TextView
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="20dip"
        android:layout_gravity="center_horizontal|bottom"

        android:padding="12dip"

        android:background="#AA000000"
        android:textColor="#ffffffff"

        android:text="Golden Gate" />

</FrameLayout>

对于此 xml,将创建以下视图层次结构:

在此处输入图像描述

直到当前的DecorViewandroid 版本实际上是一个FrameLayout

此信息取自 Roman Guy 博客,查看此链接了解更多信息。

于 2013-03-26T11:04:48.987 回答
0

您可以使用 Hierarchy Viewer ( http://developer.android.com/tools/help/hierarchy-viewer.html ) 或调试代码轻松发现它。

于 2013-03-26T11:01:18.630 回答
0

我认为一个活动的内容(你用 设置setContentView)嵌入在FrameLayout你可以像这样访问的内容中:

View root = findViewById(android.R.id.content); 
于 2013-03-26T11:02:29.300 回答
0

层级查看器在独立中已弃用,请使用监视器

于 2013-03-26T11:03:18.387 回答