上代码 public class save extends View{ Paint paint ; floa" name="description" />

Android 中 画图与动画旋转效果(中级)

来源:未知 责任编辑:智问网络 发表时间:2013-09-03 11:50 点击:

Android 中 画图与动画旋转效果(中级)

先看效果 如图 太阳自传 绿方框围着太阳转  传说中的自传与公转

上代码 

public class save extends View {

Paint paint;

float f=0;

Matrix mMatrix;

Bitmap bitmap,nbitmap;

public save(Context context) {

super(context);

paint=new Paint();

mMatrix=new Matrix();

paint.setAntiAlias(true);

paint.setStyle(Paint.Style.FILL);

paint.setStrokeWidth(5);

//得到太阳位图

bitmap=((BitmapDrawable)getResources().getDrawable(R.drawable.a00)).getBitmap();

//启动线程来刷新旋转角度

new Thread(){

@Override

public void run() {

// TODO Auto-generated method stub

super.run();

while(! Thread.currentThread().isInterrupted()){

try {

f+=1;

Thread.sleep(300);

// System.out.println(f);

catch (InterruptedException e) {

Thread.currentThread().interrupted();

}

postInvalidate();//回调ondraw()

}

}

}.start();

}

@Override

protected void onDraw(Canvas canvas) { 

// TODO Auto-generated method stub

super.onDraw(canvas);

paint.setColor(Color.GREEN);

canvas.drawColor(Color.WHITE);

canvas.clipRect(new Rect(10,10,1000,1000));

canvas.save();//画布绑定一个精灵 

canvas.rotate(f);//画布旋转

canvas.drawRect(300, 300, 450, 450, paint);//绿方框精灵

canvas.restore();//释放这个精灵

mMatrix.reset();

mMatrix.setRotate(f);

canvas.translate(100, 100);

canvas.drawBitmap(bitmapmMatrixnull);//画出带旋转矩阵的bitmap

}

}

本文出自 “美丽的奇葩” 博客,请务必保留此出处http://skyoceanone.blog.51cto.com/3483859/685800

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1