我的android审视之路---view2
来源:互联网 发布:迅龙数据恢复软件app 编辑:程序博客网 时间:2024/05/13 09:09
女朋友去了出差,晚上睡得太早也无聊,写写字吧
这篇文章主要是复习一下关于view的一下常识理解,就是一些我们可能经常用到,但又不去注意的类或者方法。
第一个场景:我们会在Activity的生命周期的入口onCreate里面调用setContentView这个函数,我们xml里面设计的layou就能一下子蹦到我们的手机屏幕上来。
这里我们一般习惯用这个setContentView函数来读xml文件,然后用findViewById这个函数来挨个或者其中子view的id。其实还有另一种方法可以获取每一个子view的id,那就是LayoutInflater.inflate来获取。
这两种方式的区别,其中前者的意义就在于找到这个xml,获取其中的子view并显示出来;后者的意义在于获得这个xml里面每一个子view的id,即获得这个layout,其实是隐藏的,我们得到的仅仅是这个子view的实例,用于后续的操作。简而言之,setContentView和findViewById是为了获得view而显示,LayoutInflater.inflate是为了获得这个实例供后续用,不用是不会显示的。所以,当我们进入一个页面需要加载显示布局时,此时会在入口使用前者,如果这个页面还有一些子view,比如对话框之类的,我们就会用到后者来加载xml。
我们讲一下LayoutInflater.inflate这个构造方法
public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) {
这三个参数怎理解呢?
第一个:很明显,把一个layout资源加载进来,R.layout.***;
第二个:第一个参数加载进来相当于获取到这个xml的实例,它还需要一个载体,没错,第二个参数就是他的载体,即这个layout是放在哪里上面的,一般回事LinearLayout;
第三个:是不是直接就附加这个layout到这个载体上面了?如果是的话,哈哈,那这个layout就死跟着你咯,相当于你只能有一个老婆;但是如果你设为false的话,载体在通过addView添加这个view,然后你就可以自由的add和remove了,想要就要,不要就甩,酷吧!
~~~~~这是一篇还没有写完的文章,还是先睡觉吧
- 我的android审视之路---view2
- 我的android审视之路---view
- 我的android审视之旅-----http的无状态和tcp的基于连接
- 审视我的梦想职业
- android 自定义View2 笔记
- android 如何绘制view2
- android自定义View2--SurfaceView
- android 自定义view2
- android自定义view2
- 自定义View之 继承View2
- Android View.setTag(view2)
- 我的Android之路
- 我的android之路
- 我的Android之路
- 我的Android之路
- 自定义View2(创建好看的进度条)
- 审视专业方面的我——从回顾历史到认知不足
- 我的android开发之路
- Log4j配置输出log文件的相对路径
- JAVA WEB 连接数据库代码
- JSP页面中不能识别Cookie
- 启用vim-ruby的rails complete (macvim)
- HTML 1 初始
- 我的android审视之路---view2
- (10) nginx 统计模块安装使用和优化
- swagger与springmvc整合一点tips
- java中JDK的安装
- UE4学习示例 Animation3
- 从gitLab上导入maven工程
- Web应用程序状态管理 (1)
- 20161028校内训练
- 0-1背包