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