嗨,如果您查看 java,最顶层的容器可能是“window”或“JFrame”,我们将在其中布置所有其余的 gui 组件。在 Android 中,对于每个活动,我们将在 xml 中定义一个布局以与 tthis 活动一起使用。所以当这个活动被加载时,它会加载相关的布局。那么这个布局是在哪里绘制的。我的意思是它首先会创建一个默认窗口并开始在其上绘制布局,或者这是如何发生的?
问问题
445 次
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,将创建以下视图层次结构:
直到当前的DecorView
android 版本实际上是一个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 回答