安卓开发学习笔记(5):view
来源:互联网 发布:mysql 重启 编辑:程序博客网 时间:2024/06/06 03:13
原文链接
http://blog.csdn.net/guolin_blog/article/details/12921889
首先View必须存在于一个布局中,不然设置属性将失去效果,为什么main_layout没有设置父布局也可以改变属性,是因为setContentView()方法系统其实默认帮我们添加了一个FramgLayout的父布局.
一、LayoutInflater的基本用法:
RelativeLayout mainLayout =(RelativeLayout) findViewById(R.id.mainLayout); LayoutInflater layoutInflater = LayoutInflater.from(this); View buttonView = layoutInflater.inflate(R.layout.button_layout,null); mainLayout.addView(buttonView,0);
inflate()还有带三个参数的方法重载:
View buttonView1 =layoutInflater.inflate(int resource,ViewGroup root,boolean attachToRoot);
1. 如果root为null,attachToRoot将失去作用,设置任何值都没有意义。
2. 如果root不为null,attachToRoot设为true,则会给加载的布局文件的指定一个父布局,即root。
3. 如果root不为null,attachToRoot设为false,则会将布局文件最外层的所有layout属性进行设置,当该view被添加到父view当中时,这些layout属性会自动生效。
4. 在不设置attachToRoot参数的情况下,如果root不为null,attachToRoot参数默认为true。
二、视图的绘制:
每一个视图的绘制过程都会经历三个最主要的阶段,即onMeasure()、onLayout()和onDraw().
(1).onMeasure()
measure是测量的意思,那么onMeasure()方法顾名思义就是用于测量视图的大小的.视图大小的控制是由父视图、布局文件、以及视图本身共同完成的,父视图会提供给子视图参考的大小,而开发人员可以在XML文件中指定视图的大小,然后视图本身会对最终的大小进行拍板
(2).onLayout()
用于给视图进行布局的,也就是确定视图的位置
(3).onDraw()
对视图进行绘制
- 安卓开发学习笔记(5):view
- 安卓自定义View学习笔记-目录
- 安卓开发学习笔记(一)
- 安卓开发学习笔记(二)
- 安卓开发学习笔记(三)
- 安卓开发学习笔记
- 安卓开发学习笔记
- 安卓View开发心得(一)
- 安卓View开发心得(二)
- 安卓View开发心得(三)
- 安卓View开发心得(四)
- 安卓学习-(view 方法汇总)
- 安卓学习笔记:1:用自定义View
- 安卓学习笔记之View的事件体系
- 安卓 View绘图笔记
- 安卓APP开发学习笔记(1)
- 安卓开发自定义View
- 安卓开发知识点学习笔记!
- 第十四周项目3折腾二维数组
- 判断母字符串是否含子字符串。
- Unity3D 项目架构基础(一)U3D简单状态机模式
- 欢迎使用CSDN-markdown编辑器
- idea 快捷键
- 安卓开发学习笔记(5):view
- 关于myeclipes打代码时候下面出现黄线的问题
- RecyclerView详细解释
- Windows 键盘快捷键
- linux 上传下载 lrzsz
- 搭建自己的ngrok服务
- c#数组
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- 使用ngrok的总结