android 幻灯片效果之平移
实现原理:
使用SurfaceView一直重绘实现该动画效果
先看效果图:
代码实现:
a,左边向右边平移
package com.open.turnpage;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.Rect;import android.view.SurfaceHolder;/** * * @author yanglonghui * */public class TranslateLeft implements ITurnPage { private int duration=500;//动画持续时间 private PaintFlagsDrawFilter pdf=new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); public TranslateLeft() { // TODO Auto-generated constructor stub } @Override public void onCreate() { // TODO Auto-generated method stub } @Override public void onTurnPageDraw(SurfaceHolder holder, Bitmap[] bitmap, int maxWidth, int maxHeight) { int dx=(maxWidth-bitmap[1].getWidth())/2; int dy=(maxHeight-bitmap[1].getHeight())/2; int dx2=(maxWidth-bitmap[0].getWidth())/2; int dy2=(maxHeight-bitmap[0].getHeight())/2; long start=System.currentTimeMillis(); long runMills=0; Rect src=new Rect(); Canvas canvas=null; boolean isRunning=true; while(isRunning) { isRunning=((runMills=(System.currentTimeMillis()-start))b,右边向左边平移
package com.open.turnpage;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.Rect;import android.view.SurfaceHolder;/** * * @author yanglonghui * */public class TranslateRight implements ITurnPage { private int duration=500;//动画持续时间 private PaintFlagsDrawFilter pdf=new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); public TranslateRight() { // TODO Auto-generated constructor stub } @Override public void onCreate() { // TODO Auto-generated method stub } @Override public void onTurnPageDraw(SurfaceHolder holder, Bitmap[] bitmap, int maxWidth, int maxHeight) { int dx=(maxWidth-bitmap[0].getWidth())/2; int dy=(maxHeight-bitmap[0].getHeight())/2; int dx2=(maxWidth-bitmap[1].getWidth())/2; int dy2=(maxHeight-bitmap[1].getHeight())/2; long start=System.currentTimeMillis(); long runMills=0; Rect src=new Rect(); Canvas canvas=null; boolean isRunning=true; while(isRunning) { isRunning=((runMills=(System.currentTimeMillis()-start))
demo代码参见 github:https://github.com/zz7zz7zz/android-turnpage csdn:http://download.csdn.net/detail/zz7zz7zz/6715605
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 04-29通用智能人“通通”亮相中关村论坛
- 04-29拼多多投入45亿补贴,助力上海“五五购物节
- 04-29通义千问再开源 推出最大尺寸1100亿参数模型
- 04-29【环球视线】比亚迪交付首列出海云轨
- 04-21中国产品数字护照体系加速建设
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御