web-dev-qa-db-fra.com

Android: À quoi sert Android.R.id.content?

Quelqu'un pourrait-il expliquer le sens de "Android.R.id.content"?

Comment est-il utilisé?

http://developer.Android.com n'a aucune explication.

public statique final int content
Depuis: API niveau 1

Valeur constante: 16908290 (0x01020002)

129
user996659

Comme commente Philipp Reichart :

Android.R.id.content vous donne l'élément racine d'une vue sans avoir à connaître son nom/type/ID. Départ http://stackoverflow.com/questions/4486034/Android-how-to-get-root-view-from-current-activity

89
Gili

Le Android.R.id.content La valeur de l'ID indique le ViewGroup de toute la zone de contenu d'un Activity.

Il peut être utilisé avec Fragment:

public class MyActivity extends Activity {

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

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                .add(Android.R.id.content, MyFragment.newInstance())
                .commit();
        }
    }

    ...

}

Le code ci-dessus insérera le View créé par Fragment dans le ViewGroup identifié par Android.R.id.content.

17
DYS

Les concepteurs de Google développent Android UX avec des instructions de conception spécifiques ou recommandées. La présentation Android.R.id.content définit un montage linéaire avec quelques attributs Android est un bon standard.

Ainsi, le chargement de la vue racine d'un gestionnaire de fragments avec Android.R.id.content garantit la mise en œuvre de ces instructions.

NOTE: Cette mise en page a défini l'attribut: Android: addStatesFromChildren = "true" pour permettre aux fragments enfants de remplacer les attributs dans cette vue racine.

À partir de la version 19, Android.R.id.content est défini dans un fichier: auto_complete_list.xml.

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android" 
    Android:id="@+id/content"
    Android:orientation="vertical"
    Android:layout_width="match_parent" 
    Android:layout_height="wrap_content"
    Android:background="@Android:drawable/edit_text"
    Android:divider="@Android:drawable/divider_horizontal_textfield"
    Android:addStatesFromChildren="true">
8
TheChrisONeil