自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (10)
  • 收藏
  • 关注

原创 android activity 应该知道的一切(完整篇)

概述前面讲解了关于activity生命周期的一些基本知识,不了解的看前面这篇文章 ,其中onPause方法也单独特别讲解过,当另一个activity启动,覆盖到当前activity上时,当前activity会先执行onPause方法,随后,另一个activity执行onCreate,onStart,onResume方法,然后,当前activity才执行onSaveInstanceState以及onS

2016-08-31 16:30:43 2214

原创 android intentFilter 详解

1 概述activity的启动分为隐式和显式两种,要使用隐式的启动,那么intentFilter是非常重要的一个知识点。这里将讲解intentFilter的匹配规则。2 基本形式<activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHi

2016-06-01 13:45:46 1006

原创 android intentFilter 匹配规则

1 概述activity的启动分为隐式和显式两种,要使用隐式的启动,那么intentFilter是非常重要的一个知识点。这里将讲解intentFilter的匹配规则。2 基本形式<activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHi

2016-05-31 17:59:22 2746

原创 android activity 应该知道的一切

1 概述activity在android中是基础,但是activity的运用中有许多的知识和细节,不代表所有的东西,我们都已经了解。这里我对activity的重要知识做出详解。 2 生命周期(1) 正常情况生命周期是最基本的东西,不废话直接上图:这是谷歌官方的图,上面两张图很好的说明了activity的流程以及各种状态之间的转换关系。activity是从什么时候开始可见的,从官方的文档中看,有如下话

2016-05-27 11:29:43 1701

原创 android view 原理 -- measure 分析与应用

1 概述measure方法,主要是用于测量android中view的大小,为后面的layout做好准备,这里我们主要来看measure的流程。2 分析查看view中的方法, public final void measure(int widthMeasureSpec, int heightMeasureSpec)这个方法是测量方法,但是这里这个方法是final的,也就是说无法重写,其实这里面最终是

2016-05-26 12:04:16 2162 4

原创 android view 原理 -- 事件传递

1 概述我们在view上进行的点击事件,是如何传递到对应的控件的,这篇文章主要讲解控件的事件传递原理。2 布局关系 相信大家都知道,viewGroup可以包含viewGroup也可以包含view。这里只是列举了这两种可能性,具体应用的层级深度和广度肯定有所不同,但是基本都是这两种情况的变种。嵌套关系基本类似。3 示例这里讲解相关的示例,分为3个方面来讲解。(1)不拦截这里看上层的viewGroup在

2016-05-25 15:26:21 1135

原创 android camera 3d特效 详解与进阶

1 概述本篇主要讲解camera,这里的camera并不是照相相关的类,而是android.graphics.Camera,这个类中封装了一个matrix,不熟悉的同学可以看前面的文章来了解。android matrix 最全方法详解与进阶(完整篇)这里和前面的详解与进阶系列一致,我们依然是先挨个讲解camera提供的方法,然后再讲解他们的实际应用。在此之前,我们先讲一些背景知识。先来看一个坐标系:

2016-05-20 16:55:49 9475 8

原创 android 自定义控件全系列导航

概述这里主要是将我的博客中的有关自定义控件的文章整理到一起,形成一个导航。大家可以在这里方便的进入各个文章。按照我的列举顺序来阅读,效果更好。android动画android帧动画android视图动画android插值器及效果android属性动画LayoutAnimation和LayoutTransitionandroid图形绘制android绘制基本图形android绘制路径path和文字an

2016-05-19 10:13:49 1856 2

原创 android matrix 最全方法详解与进阶(完整篇)

1 概述这里我们会详细讲解matrix的各个方法,以及它的用法。matrix叫做矩阵,在前面讲解 ColorFilter 的文章中,我们讲解了ColorMatrix,他是一个4*5的矩阵。而这里,我们讲解的Matrix不是用于处理颜色的,而是处理图形的。他是一个3*3的矩阵。2 原理先看看matrix的矩阵是什么样子的:这里可以查看Matrix的代码得到。那么这个矩阵分别代表了什么呢,这里通

2016-05-18 16:43:27 73952 29

原创 android matrix 详解与进阶(一)

1 概述这里我们会详细讲解matrix的各个方法,以及它的用法。matrix叫做矩阵,在前面讲解 ColorFilter 的文章中,我们讲解了ColorMatrix,他是一个4*5的矩阵。而这里,我们讲解的Matrix不是用于处理颜色的,而是处理图形的。他是一个3*3的矩阵。2 原理先看看matrix的矩阵是什么样子的:这里可以查看Matrix的代码得到。那么这个矩阵分别代表了什么呢,这里通

2016-05-18 11:59:15 7770 1

原创 android Path 和 PathMeasure 进阶

1 概述在前面的路径和文字中,讲解了path的基本用法,这里讲解一些上篇没有讲到的东西。2 Path 这里讲解path相关的方法,后面继续讲解PathMeasure,以及实例(1) offsetpublic void offset(float dx, float dy)public void offset(float dx, float dy, Path dst)这里两个方法都是指定offset

2016-05-17 16:03:13 15309 3

原创 android canvas layer (图层)详解与进阶

1 概述前面的canvas变换文章中,已经粗略的讲解过saveLayer的知识,只是图层的概念没有详细的讲解。这里将详细讲解layer。在使用相关方法和flag的时候,先关闭硬件加速。如果需要开启,参照谷歌官方的硬件加速表格。硬件加速版本2 saveLayersaveLayer可以为canvas创建一个新的透明图层,在新的图层上绘制,并不会直接绘制到屏幕上,而会在restore之后,绘制到上一个图层

2016-05-16 10:56:07 25660 6

原创 android Xfermode

1 概述xfermode主要指图像的混合模式,在android中,paint可以设置不同的xfermode来达到不同的效果。 Xfermode有三个子类:AvoidXfermode,PixelXorXfermode,PorterDuffXfermode; 由于前面两个都已经被废弃,并且并不支持硬件加速,所以这里主要讲解PorterDuffXfermode。2 PorterDuffXfermode

2016-05-14 17:32:25 2374

原创 ColorFilter

1 概述ColorFilter主要用来处理颜色,这里将讲解它的三个子类,ColorMatrixColorFilter, LightingColorFilter以及PorterDuffColorFilter。2 ColorMatrixColorFilter这个类主要是使用matrix也就是矩阵对颜色做运算,矩阵的形态如下:颜色值和该矩阵的换算关系如下:RGB和Alpha的终值计算方法如下:Red通

2016-05-13 16:31:16 8438

原创 paint进阶

概述paint的基本绘制方法已经在前面的基本图形绘制中讲解了,这里做的是进阶讲解,讲解paint的一些进阶方法。例如:setStrokeCap,setStrokeJoin,setPathEffect等。PathDashPathEffect,DiscretePathEffect,DashPathEffect,CornerPathEffect,ComposePathEffect,SumPathEffect

2016-05-11 15:34:37 3938

原创 贝塞尔曲线

概述贝塞尔曲线在android中运用广泛,可以用来绘制各类复杂曲线,因为贝塞尔曲线只需要指定控制点,就能绘制出特定的曲线。其次是做点和点的平滑过渡。为什么可以做到如上两点,看下面的讲解:首先来说,贝塞尔曲线有阶的概念,这个阶可以理解为控制点,一阶的控制点只有两个。如上是一阶的方程,其中t取值为0到1,可以理解为时间,从开始到结束。动图如下:图中可以看到,点随着t的变化从p0到p1运动,一阶的贝塞尔其

2016-05-10 19:18:14 2312

原创 文字区域

概述android文字绘制中,不得不说到的就是文字的基线,baseline,小时候写的四线的英文如下:其中的第三条线就是文字的基线(baseline),看起来文字好像是坐在上面一样。绘制文字的方法drawText在前面已经讲过了,这里就不再赘述。下面看一看android中基线的位置:红色的是基线,两条红色的交点就是绘制的起点。绘制代码如下:int baselineX = 100;int basel

2016-05-10 17:50:49 1917

原创 Region区域

概述Region是绘制中的区域的意思。使用Region可以对图形有很多操作,比如区域的合并,取交集,取抑或等。 创建一个Region有如下的方法:public Region() public Region(Region region) public Region(Rect r) public Region(int left, int top, int right, int botto

2016-05-10 17:35:23 8728

原创 canvas变换

概述要运用好canvas绘图,不仅需要使用前面说到的canvas的基本绘制,也必须使用好canvas的变换。Canvas的变换有 平移(translate),旋转(rotate),缩放(scale),错切(skew),裁剪(clip),保存(save),保存图层(saveLayer),恢复(restore),恢复到指定状态(restoreToCount)等。以上的变换操作与屏幕的显示有一定关系,首先

2016-05-10 15:39:42 10797 7

原创 路径和文字

一 Path(路径)cavas要绘制路径,需要使用Path,void drawPath (Path path, Paint paint),该方法可以绘制指定的path,这里介绍path相关的方法。1 直线路径void moveTo (float x1, float y1)void lineTo (float x2, float y2)void close ()以上3个方法用于绘制直线路径,其中

2016-05-10 15:15:26 3118 1

原创 绘制基本图形

paint基本方法setStylepaint.setStyle(Style.FILL)方法可以给paint设置绘制风格,有FILL,FILL_AND_STROKE,STROKE,这3种绘制风格,每种有所不同。上图的3个圆,分别是FILL,FILL_AND_STROKE,STROKE风格绘制的。setShadowLayer setShadowLayer (float radius, float d

2016-05-10 15:04:21 2037

原创 LayoutAnimation和LayoutTransition

一 概述LayoutAnimation和LayoutTransition都是运用于容器的,作用于他们的child。这里于LayoutAnimation类似的还有gridLayoutAnimation。二 layoutAnimation和gridLayoutAnimation他们是API 1就加入的,用于将动画运用在容器item上,因此它们使用的也是view animation(同样是API 1加入的

2016-05-10 14:45:43 1775

原创 属性动画

一 概述属性动画从API 11引入,比视图动画更加强大,用官方的话说,属性动画可以改变任何事物。而视图动画仅仅是动画。视图动画基类是android.view.animation.Animation,而属性动画基类是android.animation.Animator如下是属性动画的继承关系:属性动画中,属性值的计算过程如下图:由图可见,要将时间变量转换成最终改变的属性值,需要三步。第一:计算出动画时

2016-05-10 14:40:32 2085

原创 android 插值器

一 概述插值器是动画时间进度和动画状态的关系控制器。时间进度:只和时间有关,是运行时间/总时间。于其他任何因素无关。动画状态:0代表在原始状态,1代表到达目标状态。小于0代表未到原始状态,大于1代表超过了目标状态。它只是关心当前的状态和初始状态以及最终状态之间的关系。android自带的插值器有如下: 类名 xml引用 AccelerateDecelerateInterpolator

2016-05-05 17:21:57 1515

原创 android视图动画

一 概述本文主要讲解视图动画相关的知识,除了四种基本动画以外,还有set标签的使用。视图动画都可以通过两种方式来使用,一是通过xml,二是只使用代码。视图动画主要分为如下几种动画: 类别 描述 alpha 透明度动画 scale 缩放动画 translate 平移动画 rotate 旋转动画以上四种动画,有部分通用的属性和方法,如下表: xml属性 对

2016-05-05 11:42:34 738

原创 android 帧动画

本文主要讲解Drawable Animation,从xml实现,代码实现两个方面来讲解。一 xml实现通过xml来指定需要加载的帧

2016-05-05 11:41:21 997

转载 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法

转自:http://www.tuicool.com/articles/2eM32a自从Android3.0引入了Fragment之后,使用Activity去嵌套一些Fragment的做法也变得更加流行,这确实是Fragment带来的一些优点,比如说:Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI,更重要的是Fragm

2014-05-29 02:27:26 796

转载 Broadcast Receiver开启服务而不是子线程处理耗时操作

Broadcast Receiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电来信等。程序也可以播放一个广播。程序可以有任意数量的 broadcast receivers来响应它觉得重要的通知。broadcast receiver可以通过多种方式通知用户:启动activity、使用NotificationManage

2014-05-29 01:06:40 8231

转载 安卓 进程优先级

android中的进程默认情况下, 同一个application中的所有component运行在同一个linux进程下. 启动一个component A时, 如果已存在处于运行状态中的component B, 且A和B属于同一个application, 那么component A将在component B所在的进程下运行. 否则将为A创建一个新的linux进程.开发者也可以为app

2014-05-15 15:11:45 602

转载 Android string 格式化

看到一篇文章 对安卓 string 格式化讲解的比较好,所以转载过来1、整型,比如“我今年23岁了”,这个23是整型的。在string.xml中可以这样写,我今年%1$d岁了 在程序中,使用 [java] view plaincopyString sAgeFormat = getResources().ge

2014-05-15 11:41:56 763

排序思想.pdf

排序思想.pdf 很好的排序参考,很值得学习

2012-11-20

经典C语言程序设计例题集锦.pdf

经典C语言程序设计例题集锦.pdf 很好的书籍

2012-11-20

Linux C 常用库函数手册.rar

Linux C 常用库函数手册.rar 很好的工具书

2012-11-20

C程序设计语言

C程序设计语言(第2版新版) 非常值得读的学习书籍

2012-11-20

C语言程序设计(谭浩强

C语言程序设计(谭浩强 经典不言而喻,很好的书

2012-11-20

C、C++笔试题集锦(找工作必读).

C、C++笔试题集锦(找工作必读).华为等企业的笔试题

2012-11-20

空空如也

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

TA关注的人

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