¿Qué significa inflar una vista desde un archivo xml?

Soy nuevo en el desarrollo de Android y sigo encontrando referencias para inflar vistas desde un archivo xml de diseño. Busqué en Google y busqué la guía de desarrollo, pero todavía no pude entender lo que significa. Si alguien pudiera dar un ejemplo muy simple, sería muy apreciado.

Cuando escribe un diseño XML, será inflado por el sistema operativo Android, lo que básicamente significa que se representará creando un objeto de vista en la memoria. Llamemos a esa inflación implícita (el sistema operativo inflará la vista para usted). Por ejemplo:

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

También puede inflar las vistas de forma explícita utilizando LayoutInflater . En ese caso, tienes que:

  1. Obtenga una instancia de LayoutInflater
  2. Especifique el XML para inflar
  3. Use la View devuelta

Por ejemplo:

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

“Inflar” una vista significa tomar el diseño XML y analizarlo para crear la vista y visualizar objetos de grupo a partir de los elementos y sus atributos especificados dentro, y luego agregar la jerarquía de esas vistas y grupos de vistas al Grupo de Vista primario. Cuando llama a setContentView (), adjunta las vistas que crea al leer el XML a la actividad. También puede usar LayoutInflater para agregar vistas a otro ViewGroup, que puede ser una herramienta útil en muchas circunstancias.

Inflar es el proceso de agregar una vista (.xml) a la actividad en tiempo de ejecución. Cuando creamos ListView, inflamos cada elemento dinámicamente. Si queremos crear un ViewGroup con múltiples vistas como botones y textview. Podemos crearlo como

 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... 

Entonces tenemos que crear un diseño donde podamos agregar vistas anteriores

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

Y ahora si queremos agregar el botón en la esquina derecha y la vista de texto en la parte inferior. Tenemos que hacer un montón de trabajo. Primero con las propiedades de vista y en segundo lugar tenemos que aplicar múltiples restricciones. Es un trabajo duro y lento.

Android nos facilita crear un .xml simple y diseñar su estilo y atributos en xml y simplemente inflarlo donde sea que lo necesitemos sin la confusión de las limitaciones de configuración y establecerlo programáticamente.

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

Creo que “inflar una vista” significa obtener el archivo layout.xml dibujando una vista especificada en ese archivo xml y POPULATING (= inflando) el grupo de vista principal con la vista creada.

Debido a que hacemos UI en XML pero vemos objetos es lo que mostramos, de alguna manera tenemos que convertir xml en objetos de vista, así que inflar significa que estamos convirtiendo xml en objetos de visualización para que se pueda mostrar, para esto necesitamos un servicio llamado inflador de diseño. y dale un xml y se convertirá para ti.