对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

例如,

<Buttonxmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   android:id="@+id/custom_button">
</Button>
  • 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及更高版本的,一般我们都不常用,平板开发中能用到。

来源:
//www.greatytc.com/p/695c02084532

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容