Les concepteurs de Google développent l'UX d'Android à l'aide de directives de conception spécifiques ou recommandées. La disposition Android.R.id.content définit une disposition linéaire avec quelques attributs qu'Android estime être un bon standard.
Ainsi, le chargement de la vue racine d'un gestionnaire de fragments avec Android.R.id.content garantit l'application de ces directives.
NOTE : Cette mise en page a défini l'attribut : Android:addStatesFromChildren="true" (en anglais) pour permettre aux fragments enfants d'écraser les attributs de 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">
105 votes
android.R.id.content
vous donne l'élément racine d'une vue, sans avoir à connaître son nom/type/ID réel. Consultez stackoverflow.com/questions/4486034/2 votes
Cela est utile dans les transactions de fragments comme : mFragmentTransaction.add(Android.R.id.content, myFragment) ;
0 votes
@IgorGanapolsky Un exemple d'application effectue ce type de transaction dans une conditionnelle :
if(fragmentManager.findFragmentById(android.R.id.content)==null) {fragmentManager.beginTransaction(android.R.id.content, list).add().commit();}
Pouvez-vous dire quelleView
C'est l'élément racine de l'entreprise ?0 votes
@Zarah Êtes-vous sûr que votre syntaxe est correcte ici et compilable ?
0 votes
Quelle est la classe de la disposition associée à
android.R.id.content
?0 votes
@Sushant Depuis qu'il (
android.R.id.content
) vous donne l'élément Root comme le souligne Philipp Reichart, sans avoir à connaître son nom réel / type / ID, vous pouvez soit faire des vérifications de type pour savoir si c'est uneRelativeLayout
,LinearLayout
etc. Ou vous pouvez simplement faire un lancer versViewGroup
si vous avez juste besoin de la référence à la vue.