Android之LayoutInflater了解(20190109)

https://www.cnblogs.com/tangs/articles/5913719.html

inflate方法简单说明

/**    resource        : 布局的资源ID,生成fragment视图    root            : 视图的父视图,通常我们需要父视图来正确配置组件    attachToRoot    : 告知布局生成器是否将生成的视图添加给父视图 */inflate(int resource, ViewGroup root, boolean attachToRoot)

当root有值:

  • 如果attachToRoot为true,就直接将这个布局添加到root父布局了,并且返回的view就是父布局
  • 如果attachToRoot为false,就不会添加这个布局到root父布局,返回的view为resource指定的布局

当root为null:

  • 如果root为null,attachToRoot将失去作用,设置任何值都没有意义。同时这个布局的最外层参数就没有效了

inflate方法root参数的作用

View的布局

<?xml version="1.0" encoding="utf-8"?>    

其实 View 必须存在于一个父布局中,这样 layout_width 和 layout_height 才会有效,这也是为什么这两个属性叫作 layout_width 和 layout_height,而不是 width 和 height。只有 inflate(int resource, ViewGroup root, boolean attachToRoot) 的第二个参数不为空时,resource 的最外层布局参数才生效

  • View view= LayoutInflater.from(context).inflate(R.layout.recycler_item_layout,parent,false);时: LinearLayout 的 layout_width 和 layout_height 都会失效
  • View view= LayoutInflater.from(context).inflate(R.layout.recycler_item_layout,parent,false);时: LinearLayout 的宽高都有效

更多相关文章

  1. Android的振动服务,vibrator第二个参数的真正含义
  2. Android(安卓)API:自定义ViewGroup
  3. Android:布局实例之模仿微信Tab
  4. Android(安卓)OkHttp4 RequestBody.create()过时解决办法 kotlin
  5. Android(安卓)ViewFlipper实现多个布局手势切换的效果
  6. Android(安卓)ConstraintLayout 约束布局
  7. android 如何自定义通知栏图标(不使用自定义布局情况下)
  8. Android(安卓)约束布局ConstraintLayout解析
  9. Android(安卓)布局优化之include与merge,最后有ViewStub

随机推荐

  1. Android DEX反编译后部分代码解析
  2. Android中几种延后处理事件的方法
  3. Android(安卓)JNI开发提高篇
  4. Android笔试题大全(持续更新中)
  5. android 跳转到手机设置指定应用详情页面
  6. Android 8.0 启动 出错 Not allowed to s
  7. Android实现自动文本框提示功能
  8. android中进入设置页面(常见网络设置页面,
  9. 记Android(安卓)Framework开发之前
  10. Android Http通信(HttpURLConnection)