Il semble qu'il y ait beaucoup de texte dans les réponses mais pas de code, c'est pourquoi j'ai décidé de relancer cette vieille question avec un exemple de code, dans plusieurs réponses que les gens ont mentionnées :
Si elle est définie sur true, lorsque votre mise en page est gonflée, elle sera automatiquement ajoutée à la hiérarchie de vue du ViewGroup spécifié dans le second paramètre en tant qu'enfant.
Ce que cela signifie réellement en code (ce que la plupart des programmeurs comprennent) est :
public class MyCustomLayout extends LinearLayout {
public MyCustomLayout(Context context) {
super(context);
// Inflate the view from the layout resource and pass it as child of mine.
LayoutInflater.from(context).inflate(R.layout.child_view, this, true);
}
}
Remarquez que le code précédent ajoute le layout "R.layout.child_view" en tant qu'enfant de MyCustomLayout parce que le paramètre attachToRoot est vrai et attribue les paramètres de layout du parent exactement de la même manière que si j'utilisais "addView" de manière programmatique, le code suivant explique le scénario lorsque le paramètre attachRoot est faux :
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
linearLayout.setOrientation(LinearLayout.VERTICAL);
//Create a stand-alone view
View myView = LayoutInflater.from(context).inflate(R.layout.ownRootView, null, false);
linearLayout.addView(myView);
Dans le code précédent, vous avez spécifié que vous vouliez que "myView" soit son propre objet racine et que vous ne l'attachiez à aucun parent. Plus tard, nous l'avons ajouté comme partie intégrante du LinearLayout, mais pendant un moment, c'était une vue autonome (sans parent).
La même chose se produit avec les fragments, vous pouvez les ajouter à un groupe déjà existant et en faire partie, ou simplement passer les paramètres :
inflater.inflate(R.layout.fragment, null, false) ;
Pour préciser qu'il s'agira de sa propre racine.
J'espère que cela vous aidera...
Salutations !
1 votes
En rapport : Donner du sens à LayoutInflater
0 votes
Duplicata : stackoverflow.com/questions/22326314/