Contents
  1. 1. 2016/1/13 16:20:08
    1. 1.1. LayoutInflater的inflate方法分析

2016/1/13 16:20:08

LayoutInflater的inflate方法分析

inflater.inflate(待加载布局,给该布局嵌套一个父布局,是否加载到父布局);

View view = inflater.inflate(R.layout.button_layout, main_layout);
View view = inflater.inflate(R.layout.button_layout, main_layout,true);
//加载一个布局到父布局,不填写参数、默认为true 上面两句代码效果一样

View view = inflater.inflate(R.layout.button_layout, main_layout,false);
//不加载到父布局,但是使用父布局的属性。若要加载需要通过父布局addView的方法加载

View view = inflater.inflate(R.layout.button_layout, null,true);
父布局调用addView后,view的宽高不会显示自己的属性,而是用父布局的属性。

//父布局为null,后面的参数无效

自定义View

分析Adatper里的一句代码

@Override
public View getView(int i , View view , ViewGroup parent)
{
    view = inflater.inflate(R.layout.list_item, parent);
}
  • view 是指list_item里面的根标签
  • parent 是指外部使用该Item的控件,即ListView
  • 由于adapter默认就是要将View加入到ViewGroup里,所以设置第三个参数是无效的。
Contents
  1. 1. 2016/1/13 16:20:08
    1. 1.1. LayoutInflater的inflate方法分析