xml解析成view对象需要注意的事
来源:互联网 发布:杜蕾斯震动棒 知乎 编辑:程序博客网 时间:2024/05/29 09:53
很多时候我们需要把一个xml布局文件转成view对象,通过以下代码实现:
inflater.inflate(int resource, ViewGroup root, boolean attachToRoot);
其中inflater对象可以通过以下几种方式获取:
LayoutInflater inflater=LayoutInflater.from(Context context);
LayoutInflater inflater=getLayoutInflater();
LayoutInflater inflater=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
inflate方法有几个重载 比如我们可以写成 inflater.inflate(int resource, null);当我们传入null时,跟布局layout_xxx属性无效,比如我要实现图下这种效果,通过添加item间的分隔来测试
我们在item的xml中代码为
看跟布局FramLayout中的 layout_margin="5dp" ,item间的分隔符是通过这个实现的,但是当我们解析xml文件的代码写成inflater.inflate(int resource, null);发现没有分隔效果,如下图
xml跟布局Framlayout中明明写了layout_margin="5dp"却没有效果了,但是把layout_margin="5dp" 属性写在TextView中就有效果了,
通过查阅源码发现,当root也就是ViewGroup parent 这个参数不为空并且attachToRoot为false时 跟布局属性才被设置进去,
当然你可以选择把layout相关属性写在对应的子view中,但是如果子view太多就不便于代码的书写,这时候在跟布局中就比较好控制,源码如下:
其实还有一种加载xml为view对象的写法 View.inflate(Context context,int resource, ViewGroup root),原理都是一样的,这种我们第三个参数一般为null,这种跟上面差不多,当ViewGroup为null时,resource中的跟布局layout属性就无效了,所以还是推荐上面的加载xml布局的写法
- xml解析成view对象需要注意的事
- 解析XML的时候 需要注意的
- XML需要注意的问题
- 自定义view,需要注意的地方
- android自定义view需要注意的地方
- 自定义View需要注意的问题
- 自定义View需要注意的问题
- 在J2ME下用KXML解析XML需要注意的事项
- web.xml 需要注意的几点
- 处理XML需要注意的几个地方
- pom.xml需要注意的地方
- android解析技术需要注意的点
- UML对象图需要注意的地方
- 面向对象(需要注意的问题)
- js 对象需要注意的事情
- Json对象需要注意的一些细节。
- JAXB实现XML和java对象互转以及soapXml和对象互转需要注意的地方
- 可以滚动的View设置padding和scrollbar需要注意
- tomcat+nginx+redis实现均衡负载、session共享(二)
- 递归的函数
- 2017.2.10【初中部 GDKOI】模拟赛B组 粉刷(paint) 题解
- 海量数据处理问题汇总
- PAT:A1025. PAT Ranking (0/25)
- xml解析成view对象需要注意的事
- swagger出现no response from server错误的解决办法
- cpp——类——成员访问权限
- 初识nodeJs
- web编程从入门到项目实战-Package.json篇
- testng.xml文件结构组成及节点属性说明
- Android有序广播(系统有序广播SMS)
- linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟
- JavaEE struts2 Action的结果配置