使用 setContentView 呈現 UI

Activity 類負責為你建立一個視窗,你可以在其中放置具有 setContentView 的 UI。
有三種 setContentView 方法:

  • setContentView(int layoutResID) - 從佈局資源設定活動內容。
  • setContentView(View view) - 將活動內容設定為顯式檢視。
  • setContentView(View view, ViewGroup.LayoutParams params) - 使用提供的引數將活動內容設定為顯式檢視。

呼叫 setContentView 時,此檢視將直接放入活動的檢視層次結構中。它本身可以是一個複雜的檢視層次結構。

例子

從資原始檔中設定內容:

使用檢視層次結構新增資原始檔(此示例中為 main.xml):

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello" /> 

</FrameLayout>

將其設定為活動中的內容:

public final class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // The resource will be inflated, 
        // adding all top-level views to the activity.
        setContentView(R.layout.main);
    }
}

將內容設定為顯式檢視:

public final class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Creating view with container
        final FrameLayout root = new FrameLayout(this);
        final TextView text = new TextView(this);
        text.setText("Hello");
        root.addView(text);

        // Set container as content view
        setContentView(root);
    }
}