View.getLayoutParams()获取的是父容器的ViewGroup.LayoutParams的类型。 因为对于普通View, 其MeasureSpec由父容器的MeasureSpec和自身的LayoutParams来共同确定的。 我们给View设置LayoutParams, 在测量的时候 ...
分类:
其他好文 时间:
2017-09-09 19:02:22
阅读次数:
204
项目中看见一行代码很有趣,自定义了一个gridview。这个自定义中 重写了 onmeasure方法: 没见过啊 然后我就研究一下 发现蛮有趣的。 这串代码的背景::可能经常遇到嵌套ListView、ScrollView的问题,百度一搜,都是现成的代码,而且都是一样的,就是重写onMeasure方法 ...
分类:
其他好文 时间:
2017-07-26 12:29:56
阅读次数:
161
要理解View的测量,首先要了解MeasureSpec,系统在测量view的宽高时,要先确定MeasureSpec。 MeasureSpec(32为int值)由两部分组成: SpecMode(高2位):测量模式。 SpecSize(低30位):某种测量模式下的规格大小。 SpecMode有3类: U ...
分类:
其他好文 时间:
2017-06-16 23:14:27
阅读次数:
221
一、简介 Android系统在绘制View前,必须对View进行测量,即告诉系统该画一个多大的View。这个过程在onMeasure()方法中进行。Android系统提供了MeasureSpec类,通过帮助我们测量View。 测量模式可以分为三种: EXACTLY:即为精确值模式,系统默认使用的是E ...
分类:
移动开发 时间:
2017-05-07 15:43:55
阅读次数:
260
第1篇 基础篇 第1章 Android触摸事件传递机制 1.1 触摸事件的类型 1.2 事件传递的三个阶段 1.3 View的事件传递机制 1.4 ViewGroup的事件传递机制 第2章 Android View的绘制流程 2.1 绘制的整体流程 2.2 MeasureSpec 2.3 Measu ...
分类:
移动开发 时间:
2017-01-10 11:28:53
阅读次数:
347
当需要扩展android原生TextView的时候,比如需要给TextView默认加上10像素的颜色边框时,当设置宽高为wrap_content时,高度并不好处理。网上大部分人云亦云的说设置一个默认值,然后根据测量模式,取 MeasureSpec.getSize(widthMeasureSpec)和 ...
分类:
移动开发 时间:
2016-10-18 22:25:44
阅读次数:
194
一个MeasureSpec封装了父布局传递给子布局的布局要求,每个MeasureSpec代表了一组宽度和高度的要求。一个MeasureSpec有大小和模式组成。他有三种模式: UNSPECIFIED 未指定 父元素不对字元素施加任何束缚,子元素可以得到任意想要的大小。 EXACTLY 完全 父元素决 ...
分类:
其他好文 时间:
2016-09-22 23:39:44
阅读次数:
211
因为ScrollView与ListView都是具有滚动条的控件,所以嵌套在一起使用的时候可能会出现事件的冲突,比如我就遇见了ListView中只显示一条数据的问题。解决的办法,就是自定义了一个ListView,重写它的onMeasure()方法: MeasureSpec.makeMeasureSpe ...
分类:
其他好文 时间:
2016-09-09 22:06:12
阅读次数:
132
onMeasure中获取自定义View的mode 和width, height, // TODO 测量 int mode = MeasureSpec.getMode(widthMeasureSpec); int width = MeasureSpec.getSize(widthMeasureSpec ...
分类:
移动开发 时间:
2016-07-09 18:01:14
阅读次数:
282
原文地址:http://blog.csdn.net/yuhailong626/article/details/20639217 在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。 这个大小 ...
分类:
移动开发 时间:
2016-06-12 12:18:27
阅读次数:
198