Qu’est-ce que cela signifie de gonfler une vue à partir d’un fichier xml?

Je suis nouveau dans le développement Android et je continue de rencontrer des références à des vues gonflantes à partir d’un fichier XML de présentation. J’ai cherché sur Google et cherché dans le guide de développement, mais je n’ai toujours pas réussi à comprendre ce que cela signifiait. Si quelqu’un pouvait fournir un exemple très simple, ce serait très apprécié.

Lorsque vous écrivez une mise en page XML, celle-ci sera gonflée par le système d’exploitation Android, ce qui signifie essentiellement qu’il sera rendu en créant un object de vue en mémoire. Appelons cela l’ inflation implicite (l’OS va gonfler la vue pour vous). Par exemple:

class Name extends Activity{ public void onCreate(){ // the OS will inflate the your_layout.xml // file and use it for this activity setContentView(R.layout.your_layout); } } 

Vous pouvez également gonfler les vues explicitement en utilisant le LayoutInflater . Dans ce cas, vous devez:

  1. Obtenir une instance du LayoutInflater
  2. Spécifiez le XML à gonfler
  3. Utiliser la View renvoyée

Par exemple:

 LayoutInflater inflater = LayoutInflater.from(YourActivity.this); // 1 View theInflatedView = inflater.inflate(R.layout.your_layout, null); // 2 and 3 

“Gonfler” une vue signifie prendre le XML de présentation et l’parsingr pour créer les objects de vue et de groupe de vues à partir des éléments et de leurs atsortingbuts spécifiés, puis append la hiérarchie de ces vues et groupes de vues au ViewGroup parent. Lorsque vous appelez setContentView (), il joint les vues créées lors de la lecture du code XML à l’activité. Vous pouvez également utiliser LayoutInflater pour append des vues à un autre ViewGroup, ce qui peut être un outil utile dans de nombreuses circonstances.

Le gonflement est le processus d’ajout d’une vue (.xml) à l’activité lors de l’exécution. Lorsque nous créons une liste, nous gonflons chaque élément dynamicment. Si nous voulons créer un ViewGroup avec plusieurs vues comme des boutons et des textview. Nous pouvons le créer comme

 Button but = new Button(); but.setText ="button text"; but.background ... but.leftDrawable.. and so on... TextView txt = new TextView(); txt.setText ="button text"; txt.background ... and so on... 

Ensuite, nous devons créer une mise en page où nous pouvons append les vues ci-dessus

 RelativeLayout rel = new RelativeLayout(); rel.addView(but); 

Et maintenant, si nous voulons append un bouton dans le coin droit et textview en bas. Nous devons faire beaucoup de travail. D’abord avec les propriétés de la vue et deuxièmement, nous devons appliquer plusieurs contraintes. C’est un travail difficile et long.

Android nous permet de créer facilement un fichier .xml simple et de concevoir son style et ses atsortingbuts dans xml. Il suffit simplement de le gonfler là où nous en avons besoin, sans confusion des contraintes de définition et de programmation.

 LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); View menuLayout = inflater.inflate(R.layout.your_menu_layout, mainLayout, true); //now add menuLayout to wherever you want to add like (RelativeLayout)findViewById(R.id.relative).addView(menuLayout); 

Je pense que “gonfler une vue” signifie chercher le fichier layout.xml pour dessiner une vue spécifiée dans ce fichier xml et POPULATING (= gonfler) le viewGroup parent avec la vue créée.

Parce que nous montons l’interface utilisateur en XML mais que nous affichons les objects, nous devons en quelque sorte convertir xml en objects de vue afin que nous puissions convertir xml en objects de vue afin de pouvoir l’afficher. et lui donner un xml et il sera converti pour vous.