我们所熟知的,Android 的图形绘制主要是基于 View 这个类实现。 每个 View 的绘制都需要经过 onMeasure、onLayout、onDraw 三步曲,分别对应到测量大小、布局、绘制。
Android 系统为了简化线程开发,降低应用开发的难度,将这三个过程都放在应用的主线程(UI ... ...
分类:
移动开发 时间:
2016-06-27 19:23:12
阅读次数:
632
获取屏幕宽高 获取控件的宽高,一般来说,我们在onCreate里面得到的控件的宽高全是0.采用下面的方法,可以得到真实的宽高 此方法会加载onMeasure二次,但是回调函数只回调一次 ...
分类:
移动开发 时间:
2016-06-13 11:23:52
阅读次数:
230
自定义View详解虽然之前也分析过View回执过程,但是如果让我自己集成ViewGroup然后自己重新onMeasure,onLayout,onDraw方法自定义View我还是会头疼。今天索性来系统的学习下。onMeasure/**
*
* Measure the view and its content to determine the measured width a...
分类:
其他好文 时间:
2016-06-12 02:59:22
阅读次数:
231
前言: 前面已经介绍了《Android 自定义 view(四)—— onMeasure 方法理解》,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压罐的液位 (2)监测液化天然气液压罐的压力 UI设计师给我的设计截图如下: 任务一实践开始 第一步:先来看看整体... ...
分类:
移动开发 时间:
2016-06-06 11:41:44
阅读次数:
223
之前结合源码分析完了自定义View的三个阶段:measure,layout,draw。
那么,自定义有哪几种常见的方式呢?
直接继承自View
在使用该方式实现自定义View时通常的核心操作都在onDraw( )当中进行。但是,请注意,在分析measure部分源码的时候,我们提到如果直接继承自View在onMeasure( )中要处理view大小为wrap_content的情况,否则这种情...
分类:
其他好文 时间:
2016-06-01 13:10:12
阅读次数:
229
笔者之前有一篇文章已经使用onMeasure()解决了listview与scollview的显示冲突问题,博客地址如下:
onMeasure简单方法 完美解决ListView与ScollView冲突问题!
在此就针对View的测量以及onMeasure()涉及的几个问题做一个详细解释:
一、MeasureSpec的概念:
MeasureSpec通过将SpecMode和S...
分类:
移动开发 时间:
2016-06-01 11:34:48
阅读次数:
306
最近搞一个项目,需要用到类似于新浪微博的消息流,即每一项有文字、有九宫格图片,因此这就涉及到ListView或者ScrollView嵌套GridView的问题。其中GridView的高度问题在网上都很容易找到答案,即覆写onMeasure方法,然后设置高度的MeasureSpec。但是宽度问题确实没 ...
分类:
移动开发 时间:
2016-05-27 00:32:18
阅读次数:
323
可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。
本节我们探索自定义View中onMeasure()起到了什么样的作用,题外要插的一句是,Activity框架,View框架中大量的on函数基本上都应用到了Template模式(模板设计...
分类:
其他好文 时间:
2016-05-26 06:26:00
阅读次数:
283
转载请标明出处:
http://blog.csdn.net/xmxkf/article/details/51468648
本文出自:【openXu的博客】
目录:onMeasure什么时候会被调用
onMeasure方法执行流程
MeasureSpec类
从ViewGroup的onMeasure到View的onMeasure
ViewGroup中三个测量子控件的方法
getChi...
分类:
移动开发 时间:
2016-05-24 17:02:08
阅读次数:
561
转载请标明出处:
http://blog.csdn.net/xmxkf/article/details/51454685
本文出自:【openXu的博客】
[TOC]
在上一篇博客《Android自定义View(一、初体验)》中我们体验了自定义控件的基本流程:
继承View,覆盖构造方法
自定义属性
重写onMeasure方法测量宽高
重写onDraw方法...
分类:
移动开发 时间:
2016-05-21 06:43:59
阅读次数:
222