自定义控件MeasureSpecs与measure的理解
来源:互联网 发布:如何判断矩阵可逆 编辑:程序博客网 时间:2024/06/05 18:11
MeasureSpace 是android中父view传递给子view的用来描述对子 view布局需求的数据类型,也就是说父布局把它希view的大小以及变化的尺度分装在这个类里,而子view的measure()方法拿到这个数值,则会根据这个数值对自身进行测量。
1.UNSPECIFIED :父试图不对子试图有任何的约束,它可以达到这几所需要的尺寸大小,例如:ListView,ScrollView等,一般在我们在自定义控件中不会用到这个测量模式的。
2.EXACTLY:父视图指定了确切的大小,无论子视图指定多大的尺寸,子视图必须在父视图指定的大小范围内,对应的属性为match_parent或者具体的值,父控件可以通过MeasureSpec.getSize(measureSpec)
直接得到子控件的尺寸。
3.AT_MOST:父控件为子控件指定一个最大尺寸,子视图必须确保自己的孩子视图可以适应在该尺寸范围内,对应的属性为wrap_content,这种模式下父控件无法测量子view的大小,只能由子控件自己根据需求去计算自己的尺寸,这种模式就是我们自定义视图需要实现测量逻辑的情况。
Measure是对控件的大小的一个测量,
OnMeasure(intwidthMeasureSpec, int heightMeasureSpec)该方法就是我们自定义控件中测量逻辑的方法,该方法中的参数是父view传递给子view测量width与height大小的要求。在我们自定义视图中,要做的就是根据widthMeasureSpec与heightMeasureSpec进行对view宽高的一个测量,不同的测量模式,测量的逻辑是不同的。
setMeasuredDimension()是对测量后的值的一个回传,我们只需要在onMeasure()中调用这方法把测量后的值传递进去,这样测量的任务就算结束了。
- 自定义控件MeasureSpecs与measure的理解
- Android View measure (二) 自定义UI控件measure相关
- 自定义控件(三) 源码分析measure流程
- 我对measure的理解。
- Android 从0开始自定义控件之 View 的 measure 过程(七)
- 理解Android的layout和measure
- 理解Android的layout和measure
- 【自定义view系列】View的measure过程
- 理解Asp.Net自定义控件的生命周期
- 理解Asp.Net自定义控件的生命周期
- 理解Asp.Net自定义控件的生命周期
- 笔记 ---- android自定义控件的理解
- Android measure 简单理解
- measure机制流程理解
- 自定义View Measure过程
- 自定义View Measure过程
- 自定义View Measure过程
- 自定义 view 一 (measure)
- 网络技术——第2章 中小型网络系统总体规划与设计方法
- SQL语言基本语句
- 监督学习、无监督学习、强化学习
- 时间序列模型的三个重要概念
- 如何处理高并发
- 自定义控件MeasureSpecs与measure的理解
- 软件设计混淆概念书目录
- SPFA的两种优化SLF和LLL
- jQuery_jQuery插件1_jQuery常用插件
- Spring AOP
- Spring Transaction
- Mysql配置数据库主从复制
- 如何理解主机的默认网关???
- bzoj2588树上主席树