使用 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);
}
}