关于inflate的第3个参数
2024-10-08 02:10:53
关于inf
方法 inflate(int resource, ViewGroup root, boolean attachToRoot) 中,前连个参数都好理解,我比较费解的是第3个参数。
文档中的解释是:Whether the inflated hierarchy should be attached to the root parameter? If false, root is only used to create the correct subclass of LayoutParams for the root view in the XML.
举个例子看一下
新建一个工程
工程包含两个xml文件
layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<FrameLayout
android:id="@+id/ffff"
android:layout_width="match_parent"
android:layout_height="wrap_content"></FrameLayout>
</LinearLayout>
|
layout/ffff.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox" />
</LinearLayout>
|
接下来看activity中怎么写的
这里分3中情况
first, no attachToRoot params
activity 中的部分代码,注意看红色部分
setContentView(R.layout.main);
ViewGroup v =
(ViewGroup) findViewById(R.id.ffff); View vv = LayoutInflater.from(this).inflate(R.layout.ffff, v);
|
布局结构图
Second, params attachToRoot is false
View vv = LayoutInflater.from(this).inflate(R.layout.ffff, v, false); |
发现没有了ffff.xml 中的内容
通过结构图查看,确实没有了
Third,
ViewGroup v =
(ViewGroup) findViewById(R.id.ffff); View vv = LayoutInflater.from(this).inflate(R.layout.ffff, v, false);
v.addView(vv);
|
运行结果
呵呵,又有了。
所以这个参数的作用就是,是否把选取的视图加入到root中。false 的意思就是不添加到root中。可能需要我们手动添加。
最新文章
- 你好,欢迎来到我的博客,我是博主royalmice
- [转]三大WEB服务器对比分析(apache ,lighttpd,nginx)
- javascript: 带分组数据的Table表头排序
- c++时间处理
- fastcgi(一)
- linux源代码阅读笔记 高速缓冲区管理
- 【转】Android TextView SpannableStringBuilder 图文混排颜色斜体粗体下划线删除线
- DDS视图&;Button控件
- UVa1630,Folding
- 删除排序链表中的重复元素的golang实现
- Java中Enumeration接口的用法
- POJ3041 Asteroids 二分图匹配 匈牙利算法
- Net Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程
- HTML5 文件API
- ckeditor:新增时会得到上次编辑的内容
- InvalidateRect,invalidate,updatewindow(转)
- BCB 按钮添加背景图
- 开源的报表系统easyreport的部署
- Java程序设计10——与运行环境交互
- loadruner关联web_reg_save_param