Inflar é o processo de adicionar uma visualização (.xml) à atividade no tempo de execução. Quando criamos um listView, inflamos cada um de seus itens dinamicamente. Se queremos criar um ViewGroup com várias visualizações, como botões e visualização de texto, podemos criar da seguinte maneira:
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...
Em seguida, precisamos criar um layout no qual possamos adicionar as visualizações acima:
RelativeLayout rel = new RelativeLayout();
rel.addView(but);
E agora, se queremos adicionar um botão no canto direito e uma exibição de texto na parte inferior, temos que fazer muito trabalho. Primeiro instanciando as propriedades da visualização e aplicando várias restrições. Isso consome tempo.
O Android facilita a criação de um .xml simples e o design de seu estilo e atributos em xml e, em seguida, basta inflá-lo onde for necessário, sem a necessidade de definir restrições programaticamente.
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);