- 博客(18)
- 资源 (57)
- 收藏
- 关注
原创 (4.1.1)基础总结篇之一:Activity生命周期
一Activity二生命周期三示例冷启动过程按Home件进入系统界面热启动过程长按home键触发最近任务栈锁屏解锁原始在前台长按home键触发最近任务栈从任务栈唤醒原始在后台长按home键触发最近任务栈从任务栈唤醒MainActivity跳转到SecondActivitySecondActivity返回到MainActivityActivity的onCreate中启动新的A
2017-11-30 20:30:23 355
原创 (4.2.43)手势解锁之九宫格控件GestureLockView
/** * 手势解锁 */public class GestureLockView extends View implements GestureLockViewController { /** * 控件整体宽度、高度 */ private float width = 0; private float height = 0; //是否出初始化相关
2017-11-15 11:03:07 714
原创 (4.1.40.5)Android手势检测GestureDecetor详解
一示例二GestureDetector 手势检测三GestureDetectorListener手势检测监听器1 OnGestureListener手势检测监听11 onDown按下12 Fling一扔14 LongPress长按15 Scroll滚动16 触摸反馈ShowPress17 SingleTapUp单击抬起2 OnDoubleTapListener双击事件监听2
2017-11-09 11:56:57 494
原创 (4.1.40.4)Android控件事件MotionEvent详解
简要介绍触摸事件,主要包括 单点触控、多点触控、鼠标事件 以及 getAction() 和 getActionMasked() 的区别一、单点触控 事件 简介 ACTION_DOWN 手指 初次接触到屏幕 时触发。 ACTION_MOVE 手指 在屏幕上滑动 时触发,会多次触发。 ACTION_UP 手指 离开屏幕 时触发。 ACTION_CANCEL 事件 被
2017-11-08 18:00:15 708
原创 (4.1.40)Android控件事件转发流程全解析
最近开始系统性的整理自定义View相关的知识,譬如绘制过程源码解析、图形学绘制基础、自定义View的多种方式、动画实现等等,脑子真是感觉不够用了,期间又绕到了android点击事件响应这一块,发现之前竟然没有整理出来系统化的文档。。。先看一张图,思考:安卓上面的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件应该给谁呢?为了解决这一个问题
2017-11-08 16:49:45 449
原创 (4.1.36.2)Graphics图形学解析补充篇:区域Region
一构建1 基本构造函数2 间接构造二绘制区域三区域的合并交叉等操作四主要函数五运用示例参考文献区域代表画布中的一块封闭区域,可用于扩大点击范围或者设定不规则的点击范围一、构建1.1 基本构造函数 public Region() //创建一个空的区域 public Region(Region region) //拷贝一个region的范围 public Region(Rec
2017-11-07 20:23:23 597
原创 (4.1.36.1)Graphics图形学解析补充篇:路径Path
本篇内容基本都来自参考文献,有兴趣的可自行阅读查看一基本操作1 moveTo setLastPoint lineTo 和 close2 addXxx与arcTo3 路径方向PathDirection4 isEmpty isRectisConvex set 和 offset5 rXxx方法6 computeBounds 计算边界7 填充模式FillType8 布尔运算API199
2017-11-07 15:33:47 2119
原创 (4.1.37.6)完全式自定义View
关注点 步骤 关键字 作用 1 构造函数 初始化(初始化画笔Paint,获取配置属性及设定默认值) 2 onMeasure 测量View的大小(暂时不用关心) 3 onSizeChanged 确定View大小(记录当前View的宽高) 4 onLayout 确定子View布局(无子View,不关心) 5 onDraw 实际绘制内容
2017-11-07 09:48:39 257
原创 (4.1.37.5)自定义控件的xml属性:declare-styleable
一示例1 在resvalues文件下定义一个attrsxml文件2 在布局xml中如下使用该属性3 在自定义组件中可以如下获得xml中定义的值二declare-styleable的参数解析1 需要用 declare-styleable nameToolBar包围所有属性2 支持属性类型三Java中获取其他解析TypedArray 为什么需要调用recycle做Android布局是件
2017-11-06 16:37:17 334
原创 (4.1.37.4)组合式自定义View
一前提知识1 LayoutInflater的inflate加载布局2 ViewGroupaddView函数会生成默认父布局属性子控件的布局属性类型应该由父布局决定模板式写法一、前提知识Linearlayout.LayoutParams params = new LayoutParams(...);SimapleBanner banner = new SimapleBanner(contex
2017-11-06 16:10:32 341
原创 (4.1.36)android Graphics 图形学解析
其实在写这篇文章的时候,我一直很犹豫是按照学习顺序进行布局,还是按照类型进行布局。最终我还是选择了按照类型进行布局,因此在顺序阅读上可能会存在一定的难度,如果实在觉得很难理解的部分,可以先自行跳过 本篇内容基本都来自参考文献,有兴趣的可自行阅读查看一概述二画笔Paint1 操作函数2 基本设置函数2 PathEffect路径样式相关21 CornerPathEffect圆形拐角效果
2017-11-04 14:32:29 1283
原创 (4.1.37.1)深入理解setContentView过程和View绘制过程
一Android屏幕层级1 Window概念11 PhoneWindow二setContentView过程三View绘制前过程1 ViewRoot2 View绘制的起点四 View绘制1 测量measure阶段11 重写View和ViewGroup时的Measur过程111 onMeasure中的参数 计划宽高的生成规则112 setMeasuredDimension设置自身实
2017-11-02 17:39:52 1644
原创 (4.1.37)Android自定义View
来来回回看了很多关于自定义控件的系列文章,但是发现过了一段时间以后,再去回想还是感觉无话可说,归根揭底还是没有形成自己的知识脉络,最近趁着迭代末期,打算把整个Android View这一块的知识捋顺一遍,形成自己的知识结构体系 本文中绝大部分都摘选自参考文献,如果读者觉得我的布局不太合乎你的理解方式,可以自行参看参考文献部分基础篇动画篇自定义控件篇绘图篇参考文献自定义控件其实很简单2/
2017-11-02 16:58:27 300
原创 (4.1.6.2)角度与弧度
安卓自定义View基础-角度与弧度一、基本定义角度和弧度一样都是描述角的一种度量单位,下面是它们的定义:角度:夹角的度数 两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度.弧度:夹角对应的弧长 两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度.二
2017-11-02 16:25:12 1849 1
原创 (4.1.6.1)getMeasuredHeight()与getHeight的区别
前提知识点: 1. 在一个类初始化时,即在构造函数当中是得不到View的实际大小的。getWidth()和getMeasuredWidth()得到的结果都是0,但是可以从onDraw()方法或者dispatchDraw()方法里面获得。可以通过调用invalidate()来执行onDraw()和dispatchDraw()方法。 2. 这两个方法所得到的结果的单位是像素即pixel我们
2017-11-02 15:51:38 793
原创 (4.1.6)Android控件相对与绝对坐标详解
一dip dp px sp区别二控件坐标 与 点击事件坐标1 控件坐标11 相对父布局的相对坐标12 相对屏幕和窗口的绝对坐标2 点击事件坐标一、dip, dp, px, sp区别 我们在Android代码中获取到的宽高坐标等基本全都是pxdip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVG
2017-11-02 15:16:20 1165
原创 (4.1.39)Android屏幕测量:屏幕、状态栏、标题栏
一、基本区域划分1.1 屏幕区域 以下两种方法在屏幕未显示的时候,还是处于0的状态,即要在setContentView调用之后才有效WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); screenWidth = display.get
2017-11-02 14:58:32 305
安阳工学院--软件工程复习指南
2012-11-16
软件工程试卷及答案(多套精品试卷_).
2012-11-16
进程保活(一:JNI层初探):单向循环式启动服务
2016-07-23
会议室系统jsp课程设计
2012-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人