Android动态添加布局LayoutInflater简单用法
16lz
2021-01-26
下面是关于 LayoutInflater 简单用法:
直接看例子,我想在 activity_main 文件中动态的添加一个布局;下面是 activity_main 文件中的代码:
里面只有一个容器 RelativeLayout ;下面看另一个布局 item_main :
也很简单,里面有一个容器和三个 Button ,那么就可以将 item_main 文件动态添加到 activity_main 文件了:
RelativeLayout rl_root; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rl_root = findViewById(R.id.rl_root); LayoutInflater layoutInflater = LayoutInflater.from(this); View view = layoutInflater.inflate(R.layout.item_main,null,false); rl_root.addView(view); }
这样便添加完成了。
其中 inflate() 方法中三个参数分别为:需要加载的布局;给该布局的外部再嵌套一层父布局,不需要传 null ;
第三个参数有些复杂,单独说:
如果第二个参数传 null ,那个第三个参数也不用传,传什么都没有意义;
如果第二个参数传了,第三个参数传 true,则会给加载的布局文件的指定一个父布局;如果第三个参数传 false ,则会将布局文件最外层的所有 layout 属性进行设置,当该 view 被添加到父 view 当中时,这些 layout 属性会自动生效。
可以看出我在上面,第二个参数传的 null ,也就是我们没有在外面为它指定一个父布局,那么 layout 属性也就无效;最简单的解决方式就是在外层加一个 RelativeLayout ,也就是我上面的写法~~
到这里就结束了~
更多相关文章
- Android(安卓)RecyclerView 详解(五) RecyclerView多布局的使用
- android property属性property_set()&& property_get() selinux
- 安卓软件逆向工程基础概念
- Android三级联动筛选菜单
- Jenkins奇技淫巧 — 参数化构建篇(Android自动化构建)
- Android中的UID、GID与应用安全
- Android(安卓)NDK 编译过程中遇到错误 exception handling disab
- Android文字图片写入CSV(Base64)并分享
- Drawable(hdpi,ldpi,mdpi)目录的区别