Android Présentation de l'interface utilisateur avec setContentView


Exemple

La classe d'activité prend soin de créer une fenêtre dans laquelle vous pouvez placer votre interface utilisateur avec setContentView .
Il existe trois méthodes setContentView :

  • setContentView(int layoutResID) - Définit le contenu de l'activité à partir d'une ressource de présentation.
  • setContentView(View view) - Définit le contenu de l'activité sur une vue explicite.
  • setContentView(View view, ViewGroup.LayoutParams params) - Définit le contenu de l'activité sur une vue explicite avec les paramètres fournis.

Lorsque setContentView est appelée, cette vue est placée directement dans la hiérarchie de vues de l'activité. Elle peut elle-même être une hiérarchie de vues complexe.


Exemples

Définir le contenu du fichier de ressources:

Ajoutez le fichier de ressources (main.xml dans cet exemple) avec la hiérarchie de vue:
<?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>

Définissez-le comme contenu dans l'activité:

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

Définir le contenu à une vue explicite:

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