随笔分类 -  Android 高级效果(绘画,动画,3D,手势,viewFlipper...)

详解Android动画之Frame Animation
摘要:在开始实例讲解之前,先引用官方文档中的一段话:Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画。Frame动画可以被定义在XML文件中,也可以完全编码实现。如果被定义在XML文件中,我们可以放置在/res下的anim或drawable目录中(/res/[anim | drawable]/filename.xml),文件名可以作为资源ID在代码中引用;如果由完全由编码实现,我们需要使用到 AnimationDrawable对象。如果是将动画定义在XML文件中的话,语法如下:[html] view plaincopy<?xml version=&qu 阅读全文

posted @ 2012-04-14 18:01 明明的天天 阅读(438) 评论(0) 推荐(0)

详解Android动画之Interpolator插入器
摘要:Interpolator英文意思是: 篡改者; 分类机; 校对机 SDK对Interpolator的描述是:An interpolator defines the rate of change of an animation. This allows the basic animation effects (alpha, scale, translate, rotate) to be accelerated, decelerated, repeated, etc。简而言之Interpolator就是一个“变化率”,一个基本动画的“变化率”。 比如:从A到B的一个平移动画,移动,当然后速度的快慢 阅读全文

posted @ 2012-04-14 17:53 明明的天天 阅读(7615) 评论(1) 推荐(0)

android 2D绘图总结1
摘要:1.整体概括: 用"button的绘制"做为实例.public class MyButton extends Button {--->继承Button. 一般我们都继承View,没有样式 public MyButton(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) {--->activity加载的时候会自动调用该方法 super.onDraw(canvas); Paint paint = new Paint();--->画笔:具有颜色和 阅读全文

posted @ 2012-04-14 17:49 明明的天天 阅读(784) 评论(0) 推荐(0)

抗锯齿与postInvalidate
摘要:1. 分线程更新主线程UI的时候 : 用handler.handMessage(...){ invalidate()}也可以直接在onDraw()的分线程的方法里写postInvalidate().2.android的绘图的抗锯齿 a.画笔有方法. paint.setAntiAlias(true); b.但是画图片的时候用paint和不用paint一样.那么画布也有这个功能canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG)); 阅读全文

posted @ 2012-04-14 17:36 明明的天天 阅读(344) 评论(0) 推荐(0)

android surfaceView与view使用小结
摘要:两种方法都是实现画一个慢慢变大的圆, 自定义的view要sleep一下才能看到效果 . surfaceView不用. 可能与其两级缓存有关._____________________________________最美分割线_________________________________________使用它主要就是 SurfaceHolder sh = this.getHolder();--->1.得到SurfaceHolder Canvas canvas = sh.lockCanvas();---->2. 锁定画布 Paint paint = new Paint(); pai 阅读全文

posted @ 2012-04-14 17:33 明明的天天 阅读(824) 评论(0) 推荐(0)

Android之图片处理(图片合成、图片圆角、图片翻转、图片缩放)
摘要:图片合成 /** * 图片合成 * @param bitmap * @return */private Bitmap createBitmap( Bitmap src, Bitmap watermark ) { if( src == null ) { return null; } int w = src.getWidth(); int h = src.getHeight(); int ww = watermark.getWidth(); int wh = watermark.getHeight(); //create the new blank bitmap Bitmap newb = Bit 阅读全文

posted @ 2012-04-14 15:27 明明的天天 阅读(4784) 评论(0) 推荐(0)

导航