Presenting UI with setContentView
suggest changeActivity class takes care of creating a window for you in which you can place your UI with setContentView
. There are three setContentView
methods:
setContentView(int layoutResID)
- Set the activity content from a layout resource.setContentView(View view)
- Set the activity content to an explicit view.setContentView(View view, ViewGroup.LayoutParams params)
- Set the activity content to an explicit view with provided params.
When setContentView
is called, this view is placed directly into the activity’s view hierarchy. It can itself be a complex view hierarchy.
Examples
Set content from resource file:
Add resource file (main.xml in this example) with view hierarchy:
<?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>
Set it as content in activity:
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);
}
}
Set content to an explicit view:
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);
}
}
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents