绘制优化指View的onDraw方法需要避免执行大量的操作主要实现方法: 1,onDraw中不要创建新的局部对象,onDraw方法可能会被频繁调用。这样就会在一瞬间产生大量的临时对象。占用过多内存。 2,onDraw中不要做耗时的任务。大量的循环会造成View的不流畅,抢占cPu的时间。 据谷歌提供 ...
分类:
其他好文 时间:
2017-03-18 22:43:36
阅读次数:
149
1、准备数据 2、设置ImageViews集合,保存图片,并创建点的集合,并适配点的像素, 3、创建灰点和红点的xml 4、添加ViewPager设配器,重写4个方法 引导页布局 5、计算红点移动位置和设置进入主页按钮事件监听 根据view的生命周期,当执行到onLayout或onDraw时,已经获 ...
分类:
其他好文 时间:
2017-03-17 11:59:41
阅读次数:
253
View:视图,每一个view都有一个用于绘图的画布,这个画布可以任意的扩展。在android中,任何一个view都需要重写onDraw()方法来实现。 Canvas:画布,利用Canvas可画出(点、直线、圆、椭圆、矩形、文字) Paint:画笔 代表了Canvas上的画笔,画刷、颜料等。 如果p ...
分类:
其他好文 时间:
2017-03-17 00:34:26
阅读次数:
138
View:1、draw//绘制一个View以及他的子View。最好不要覆写该方法,应该覆写onDraw方法来绘制自己。public void draw(Canvas canvas); 2、onDraw //绘制一个View的外观。View的默认实现是空实现,所以这里没有源码给出。 protected ...
分类:
其他好文 时间:
2017-03-13 00:03:01
阅读次数:
182
当窗口发生改变后,会产生无效区域,这个无效的区域需要重画。 一般Windows会发送两个消息WM_PAINT(通知客户区 有变化)和WM_NCPAINT(通知非客户区有变化)。 非客户区的重画系统自己搞定了,而客户区的重画需要我们自己来完成。这就需要OnDraw()或 OnPaint()来重画窗口。 ...
分类:
编程语言 时间:
2017-03-12 15:08:01
阅读次数:
319
1.三个可进行绘制的方法: 在自定义视图中,有三个函数可以重写用于界面绘制,在视图创建过程中,三个函数的执行顺序依次是:onLayout、onDraw、dispatchDraw。 1、onLayout(boolean changed, int left, int top, int right, in ...
分类:
其他好文 时间:
2017-03-08 22:37:16
阅读次数:
188
例子:在TextView的基础上画东西,如果这个TextView没有背景drawable,使用的不是draw( )方法,而是dispatchDraw( ) 方法。 Android的view组件显示主要经过mesure, layout和draw这三个过程。在mesure阶段里调用mesure(int ...
分类:
其他好文 时间:
2017-02-25 01:11:30
阅读次数:
170
1、组合控件 把原生的控件组合到自己的容器或者布局中( 视差效果的ListView+ImageView) 2、完全自定义控件 1、继承View (实现onMeasure( ) 、onLayout( )、onDraw( ) ) 2、继承ViewGroup 实现onMeasure( ) 、onLayou ...
分类:
其他好文 时间:
2017-02-13 08:35:36
阅读次数:
259
对于Paint没有很好的深入的学习过,在工作之余再巩固巩固。 1.Paint的BlurMaskFilter(模糊效果) 自定义一个View继承View 重写里面的onDraw方法。这里直接上代码了: ...
分类:
其他好文 时间:
2017-02-09 11:12:03
阅读次数:
182
前言项目中有使用到水印效果,如下图所示。在实现过程中,最终选用ItemDecoration来实现,其中有两大步骤:自定义Drawable来完成水印图片、使用ItemDecoration来布局水印。De...
分类:
其他好文 时间:
2017-02-05 13:07:03
阅读次数:
203