Inflating là quá trình thêm chế độ xem (.xml) vào hoạt động trong thời gian chạy. Khi chúng ta tạo một listView, chúng ta sẽ tự động thổi phồng từng mục của nó. Nếu chúng tôi muốn tạo một Viewgroup có nhiều chế độ xem như nút và textview, chúng tôi có thể tạo nó như vậy:
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...
Sau đó, chúng ta phải tạo một bố cục nơi chúng ta có thể thêm các khung nhìn ở trên:
RelativeLayout rel = new RelativeLayout();
rel.addView(but);
Và bây giờ nếu chúng ta muốn thêm một nút ở góc phải và một khung nhìn ở phía dưới, chúng ta phải thực hiện rất nhiều công việc. Đầu tiên bằng cách khởi tạo các thuộc tính khung nhìn và sau đó áp dụng nhiều ràng buộc. Điều này là tốn thời gian.
Android giúp chúng ta dễ dàng tạo một .xml đơn giản và thiết kế kiểu và thuộc tính của nó trong xml và sau đó chỉ cần thổi phồng nó bất cứ nơi nào chúng ta cần mà không phải chịu sự ràng buộc của lập trình.
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);