SurfaceView介绍
通常情况程序的View和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI元素,例如用后台线程更新自定义View(调用View的在自定义View中的onDraw函数)是不允许的。 如果需要在另外的线程绘制界面、需要迅速的更新界面或则渲染UI界面需要较长的...
分类:
其他好文 时间:
2016-04-29 16:14:57
阅读次数:
192
项目:具有圆形效果的自定义View 一、继承View并重写onDraw方法 public class CircleView extends View{ private static final int COLOR = Color.RED; private Paint mPaint = new Pai ...
分类:
其他好文 时间:
2016-04-24 15:37:58
阅读次数:
166
自定义View的实现方式大概可以分为三种,自绘控件、组合控件、以及继承控件。本文将介绍自绘控件的用法。自绘控件的意思是,这个控件上的内容是用onDraw函数绘制出来的。关于onDraw函数的介绍可参看 Android视图绘制流程完全解析,带你一步步深入了解View(二) 。 例子1:在layout文 ...
分类:
移动开发 时间:
2016-04-23 07:09:35
阅读次数:
243
Android中每一个组件的绘制过程,都要经过三个阶段:测量、布局、绘制,分别对应着方法onMeasure、onLayout、onDraw(这三个方法定义于View类中)。当然,这三个方法都是允许组件自己重定义的方法,来实现组件对自己的尺寸进行测量(①有child views时,要分别对子组件调用相关测量方法,比如measureChild、measureChildWithMargins等,并根据子组...
分类:
其他好文 时间:
2016-04-22 19:43:09
阅读次数:
123
其实到后面就需要我们如何显示歌词,对于歌词的同步显示还是比较好实现的,主要通过判断当前播放的时间和每个结点的歌词的时间的大小,来同步对应到结点的数据,现在就是如何来实现这个问题。其实,这个时候就需要自定义控件来实现。
第一步需要自定义View的属性。
第二步需要实现在View的构造方法中获得我们自定义的属性。
主要通过初始化函数,init()
第三步,重写ondraw函数。LrcView.j...
分类:
移动开发 时间:
2016-04-22 19:15:33
阅读次数:
256
在客户区画直线等图形时, 发现当其最小化或者其他窗口遮挡时,出现窗口重绘,而将原来绘制的图形删除,上网上搜索知道,绘制图形的代码必须放置在Ondraw函数中,才能避免重绘时图形消失(因为一直在响应WM_PAINT消息,不断的重绘),但是这样做却只能保存最近的一次绘图,只适用于单幅固定的图形,对于其中 ...
分类:
编程语言 时间:
2016-04-18 06:33:40
阅读次数:
175
看了无数资料,总结一下自定义View 先明白一个自定义View的三大流程 onMeasure() 测量,决定View的大小 onLayout() 布局,决定View在ViewGroup中的位置 onDraw() 绘制,画出这个View的内容 这三个方法都存在于View类中,我们自定义View需要针对 ...
分类:
其他好文 时间:
2016-04-15 02:09:36
阅读次数:
215
一、MFC的基本概念 单文档、多文档和对话框框架的区别 MFC中的类继承图的基本框架 CView类与CDocument的关系 Onpaint()和Ondraw()的关系 hdc-cdc区别联系 RUNTIME_CLASS是什么 DECLARE_DYNAMIC 和 IMPLEMENT_DYNAMIC ...
分类:
编程语言 时间:
2016-04-13 23:42:07
阅读次数:
399
效果图:
原理:最上层是一个(颜色值为#cococo)bitmap,中间是一个画笔在画布上花下用户滑动的路径,最下层是一个背景图片的bitmap(见下图)
具体绘制的代码如下:
@Override
protected void onDraw(Canvas canvas) {
canvas.drawBitmap(mOutterBitmap, 0, 0, null);//...
分类:
其他好文 时间:
2016-04-12 17:25:08
阅读次数:
278
曾经面试时,面试官问了一个View和Viewgroup的测绘顺序,当时答的不是特别完美,今天总结下具体的顺序!可能有童鞋说多简单啊不就是onMeasure onSizeChanged onLayout onDraw,
………加入一个ViewGroup里面放置了三个View,请说出log输出的具体顺序,附加一条,ondraw方法是谁通知他开始绘制的,以及ondraw中的canvas来自哪里?好的现在...
分类:
移动开发 时间:
2016-04-11 12:24:31
阅读次数:
213