Inflar es el proceso de agregar una vista (.xml) a la actividad en tiempo de ejecución. Cuando creamos un listView, inflamos cada uno de sus elementos dinámicamente. Si queremos crear un ViewGroup con múltiples vistas como botones y vista de texto, podemos crearlo así:
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...
Luego tenemos que crear un diseño donde podamos agregar vistas anteriores:
RelativeLayout rel = new RelativeLayout();
rel.addView(but);
Y ahora, si queremos agregar un botón en la esquina derecha y una vista de texto en la parte inferior, tenemos que hacer mucho trabajo. Primero instanciando las propiedades de vista y luego aplicando múltiples restricciones. Esto lleva mucho tiempo.
Android nos facilita crear un .xml simple y diseñar su estilo y atributos en xml y luego simplemente inflarlo donde sea que lo necesitemos sin la molestia de establecer restricciones 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);