对inflater.inflate的理解、关于Support v4、v7、v13

1、关于parent

convertView=inflater.inflate(R.layout.item_list,null);

以这种方式填充视图,item布局中的根视图的layout_XX属性会被忽略掉,然后设置成默认的包裹内容方式。

convertView=inflater.inflate(R.layout.item_list, parent,false);

可以保证item的视图中的参数不被改变

2、关于attachToRoot

例如,



  • attachToRoot为true:

对如上资源文件,指定mLinearLayout为父布局,并同时把它添加到父布局mLinearLayout中。

inflater.inflate(R.layout.custom_button,mLinearLayout,true);
  • attachToRoot为false:

对如上资源文件,指定mLinearLayout为父布局,但是暂时没有把它添加到父布局mLinearLayout中。

Buttonbutton=(Button)inflater.inflate(R.layout.custom_button,mLinearLayout,false);
mLinearLayout.addView(button);

有些情况下,必须将attachToRoot设置为false,在任何我们不负责将View添加进ViewGroup的情况下都应该将attachToRoot设置为false。RecyclerView负责决定什么时候展示它的子View,这个不由我们决定。

http://www.codeceo.com/article/android-layoutinflater-inflate.html
http://www.2cto.com/kf/201407/313054.html

3、Android Support v4、v7、v13的区别

google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如fragement,ViewPager等,下面,简单说明下这几个版本间的区别:

Android Support v4: 这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。

Android Support v7: 这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。

Android Support v13 :这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。

来源:
http://www.jianshu.com/p/695c02084532

你可能感兴趣的:(对inflater.inflate的理解、关于Support v4、v7、v13)