自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 触摸消息的整体派发流程

先简单说明下在客户端中,消息的总体派发机制:在ViewRootImpl.java的handleMessage()是处理所有消息的地方,其中MSG_PROCESS_INPUT_EVENTS对应于按键消息,触摸消息,滚轮消息和摇杆消息。接收到这个消息后,调用doProcessInputEvents(),这个函数再调用deliverInputEvent()分发具体消息,其中触摸消息对应于delive

2013-11-29 15:38:02 1466

原创 GestureDetector应用实例

MotionEvent中定义了基本事件,View中定义了一些简单事件的处理接口,GestureDetector拓展了View中的事件接口,提供了一些复杂事件的接口。框架接口(API)的好处是框架已经帮我们定义好了为什么onDoubleClick表示双击事件,而我们只需要直接使用即可。下面通过实例说明如何使用GestureDetector类实现复杂事件。package com.sean.gest

2013-11-28 15:14:11 1112

原创 手势检测GestureDetector的实现原理

首先简单说明一下触摸屏事件的实现过程:触摸屏驱动检测到MotionEvent——>MotionEvent被

2013-11-28 14:04:07 2463

原创 Android4.2.2 Gallery2源码分析(11)——Gallery的层次结构图

总结前文的内容,画出Gallery的基本架构层次图如下:这里我省略了ActionBar等内容,只说主要界面。Activity主界面对应于GLRootView(继承自GLSurfaceView)。由于Gallery的Activity使用了ActivityState这一类来保存不同的页面对象,在Activity中根据需求加载不同的ActivityState对象。ActivityState中

2013-11-15 16:43:32 6548 3

原创 Android4.2.2 Gallery2源码分析(10)——Activity于View的结合

在以往Activity中,我们大部分时候都在编写View,最后只需要在Activity的onCreate()函数中调用setContentView(new MyView())即可把对应的视图粘贴到了Activity上。在Gallery中,ActivityState代替了Activity;GLView代替了View,那么这二者是如何结合到一起的呢?虽说ActivityState替代了Activi

2013-11-15 16:35:02 3433 3

原创 Android4.2.2 Gallery2源码分析(9)——三个界面的跳转

Gallery浏览图片除开编辑界面,主要有三个界面:即起始页,相册簿集合页面(AlbumSetPage);点击某个相册进入该相册的所有图片页面(AlbumPage)和再点击某张具体图片之后的图片浏览页面(PhotoPage)。我们从起始页面开始,点击某个相册:一个相册是一个SlotView对象,在onCreate()中初始化了SlotView。并且对SlotView进行了监听:

2013-11-15 14:44:59 3494 2

原创 Android4.2.2 Gallery2源码分析(8)——假装的Activity

两周的奋战,终于对Gallery的结构有了个大致的了解。Gallery是一个很好的Android系统知识的学习源码,不仅仅因为它设计到了多线程,布局优化,Opengl的结合等等内容。还有两点必须说明的地方,一个是前文提到国的GLView.java:Gallery没有用到任何android提供的View类,而是自己写了一个融合Opengl绘图的GLView,掌握它对于理解android的View架构

2013-11-15 13:54:28 2905 2

原创 Android4.2.2 Gallery2源码分析(6)——GLView.java

// GLView is a UI component. It can render to a GLCanvas and accept touch// events. A GLView may have zero or more child GLView and they form a tree// structure. The rendering and event handling wil

2013-11-06 14:03:12 3575 2

原创 Android4.2.2 Gallery2源码分析(7)——canvas的调用堆栈

protected void render(GLCanvas canvas) { Log.d("Lich", "-------", new Throwable());上面是GLView.java的render方法。以前在查看View类及其子类的源码时,有一个很疑惑的地方——绘图是只需要在onDraw(Canvas canvas)中实现即可,而画图时用到的这个Canvas对象

2013-11-06 12:58:04 3052

原创 Android图形图画学习(11)——颜色相关

Android提供了一个颜色类Color.java提供各种不同的颜色,本节就从Color.java开始探讨颜色在代码中是如何表示的。Android中使用的是ARGB色彩模式,用于32位位图存储结构。即用32位表示一个像素(总共能表示的色彩数目为2的32次方):其中四个基本元素A,R,G,B各有8位,即各自大小为(0-255),根据各个基本元素的大小搭配组成不同颜色和透明度的色彩。这种表示在Bi

2013-11-05 20:43:42 1448

原创 Android图形图画学习(10)——AlphaBitmap

private static class SampleView extends View { private Bitmap mBitmap; private Bitmap mBitmap2; private Bitmap mBitmap3; private Shader mShader; private static

2013-11-05 19:41:06 1507

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除