2012年4月25日

view, surfaceView, invalidate, postInvalidate, 刷新屏幕

摘要: 1.viewview在api中的结构java.lang.Objectandroid.view.View直接子类:AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView, TextVie, ViewGroup, ViewStub间接子类:AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout, AdapterView<T extends Adapter>, AppWidgetHostView, AutoCompleteTextView, Button, CheckBo 阅读全文

posted @ 2012-04-25 16:53 明明的天天 阅读(3974) 评论(2) 推荐(1)

SurfaceView和View最本质的区别

摘要: SurfaceView和View最本质的区别在于,surfaceView是在一个新起的单独线程中可以重新绘制画面而View必须在UI的主线程中更新画面。那么在UI的主线程中更新画面 可能会引发问题,比如你更新画面的时间过长,那么你的主UI线程会被你正在画的函数阻塞。那么将无法响应按键,触屏等消息。当使用surfaceView 由于是在新的线程中更新画面所以不会阻塞你的UI主线程。但这也带来了另外一个问题,就是事件同步。比如你触屏了一下,你需要surfaceView中thread处理,一般就需要有一个event queue的设计来保存touch event,这会稍稍复杂一点,因为涉及到线程同步。 阅读全文

posted @ 2012-04-25 16:35 明明的天天 阅读(641) 评论(0) 推荐(0)

Android 绘图 阴影制作(Shadow)

摘要: 阴影制作:包括各种形状(矩形,圆形等等),以及文字等等都能设置阴影。阴影制作是什么原理呢?其实很简单,你需要设置阴影的东西被看作一个主层。然后在主层下面画一个阴影层。阴影制作涉及到一个重要函数:public void setShadowLayer(float radius, float dx, float dy, int color)radius:阴影半径dx:X轴方向的偏移量dy:Y轴方向的偏移量color:阴影颜色注意:如果半径被设置为0,意思就是去掉阴影。具体实现:1234567891011121314151617181920212223242526272829303132333435. 阅读全文

posted @ 2012-04-25 14:35 明明的天天 阅读(7079) 评论(0) 推荐(0)

Canvas的save和restore

摘要: 在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法。onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢?❑save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。❑restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响。save和restore要配对使用(restore可以比save少,但不能多),如果restore调用次数比save多 阅读全文

posted @ 2012-04-25 11:42 明明的天天 阅读(562) 评论(0) 推荐(0)

android 自定义动画3_android.graphics.Camera解读

摘要: android.graphics.Camera实现图像的旋转、缩放,配合Matrix实现图像的倾斜 bysodinoandroid.graphics.Camera可以对图像执行一些比较复杂的操作,诸如旋转与绽放,与Matrix可实现图像的倾斜。个人总结Camera与Matrix的一些区别如下:Camera的rotate()相关方法是指定某一维度上旋转指定的角度。Matrix的rotate()相关方法实现的效果是顺时针旋转指定的角度;与Camera指定Z轴旋转效果相同,但方向相反。Camera的translate()方法根据某一维度上视点的位移实现图像的缩放,与Matrix的scale()相关方 阅读全文

posted @ 2012-04-25 11:17 明明的天天 阅读(3373) 评论(0) 推荐(0)

android 自定义动画2

摘要: 在代码中继承android.view.animation.Animation类来实现自定义效果。通过重写Animation的applyTransformation(float interpolatedTime, Transformation t)函数来实现自定义动画效果。 在绘制动画的过程中会反复的调用applyTransformation函数,每次调用参数interpolatedTime值都会变化,该参数从0渐变为1,当该参数为1时表明动画结束。通过参数Transformation来获取变换的矩阵(matrix),通过改变矩阵就可以实现各种复杂的效果。自定义图片旋转效果动画代码。classV 阅读全文

posted @ 2012-04-25 09:32 明明的天天 阅读(6112) 评论(1) 推荐(0)

android 自定义动画1

摘要: android 里的2d动画有tween 和frame, 像镜面反转这种动画它内部没有提供支持, 上网查了一下.有人写了这个效果, 但是写得怎一个乱字了得, 又查了一下api demo里就有, 你们还弄什么乱七八糟的啊.http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/animation/Rotate3dAnimation.html如下:Rotate3dAnimation.javaThe file containing the source code shown below 阅读全文

posted @ 2012-04-25 08:48 明明的天天 阅读(1174) 评论(0) 推荐(0)

导航