1.include:

布局复用,使用layout=设置引用的布局。需要注意的是只支持android:id 和android:layout_xxx,而且要设置android:layout_xxx必须设置宽高,否则无效。


2.merge:

用于减少冗余的布局嵌套,相当于他包裹的内容直接放到他的父组件下(只能用作布局文件的根标签)。常用于include引用的布局文件,比如说原来有一个垂直线性布局,其中有一个include,引用的布局又是一个垂直线性布局。这时就没必要在引用的布局使用线性布局作为根布局,用merge就可以了。


3.ViewStub:

应用场景是刚开始不需要加载的布局内容(如网络断开界面),意义就是减少刚开始的加载时间。

这个组件刚开始不占空间,通过android:layout设置要加载的内容。再设置可见性或调用inflate后要加载的内容替换掉他显示,相应的空间弹开(像是gone到visible)。

一般要设置android:id和android:inlfateId,第一个就是他的ID,第二个是要加载的内容的ID。

使用:

vs= (ViewStub) findViewById(R.id.vs);                vs.setVisibility(View.VISIBLE);                //vs.inflate();第二种显示方式                View view1=findViewById(R.id.show);                TextView tv=(TextView) view1.findViewById(R.id.tv);

这里的show就是InflateId

待通知viewstub加载后再获取加载的view,并通过这个view的findViewById来获取其子组件。

更多相关文章

  1. Android适配器Adapter的学习
  2. android动态加载Jar/dex--原创
  3. 你需要了解下Android(安卓)View的更新 requestLayout 与重绘 inv
  4. android登录tomcat服务器并查找数据库的内容
  5. proguard-project.txt和project.properties混淆代码
  6. Android(安卓)- 分享内容 - 添加一个简单的分享操作
  7. Android之View的诞生之谜
  8. Android:创建可穿戴应用 - 自定义布局
  9. Android成长(三)——页面布局

随机推荐

  1. Android开发 开启闪光灯 关键代码
  2. Android开发环境搭建安装(木瓜移动比赛入
  3. android studio中使用Lambda
  4. android 经常用到的一些工具类--SharedPr
  5. 安卓startService:让你彻底理解startServi
  6. Android问题集锦之十五:可笑的unauthorize
  7. Android非UI线程更新UI的几种方法
  8. 一个好用的android图片压缩工具类
  9. Android 图片处理工具类封装
  10. android 源码修改记录