0

こんにちは、Javaを調べると、一番上のコンテナは「window」または「JFrame」であり、残りのすべてのGUIコンポーネントをレイアウトします。Androidでは、すべてのアクティビティに対して、このアクティビティで使用するためにxmlで定義されたレイアウトがあります。したがって、このアクティビティがロードされると、関連するレイアウトがロードされます。それで、このレイアウトはどこに描かれていますか。つまり、最初にデフォルトのウィンドウを作成し、その上にレイアウトの描画を開始しますか、それともこれがどのように発生するのでしょうか。

4

5 に答える 5

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 に答える
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

この情報はRomanGuyブログから取得したものです。詳細については、このリンクを確認してください。

于 2013-03-26T11:04:48.987 に答える