android animation应用——图片绕固定点旋转
来源:互联网 发布:中国网络流行语列表 编辑:程序博客网 时间:2024/05/22 05:14
一、功能:实现将图片绕固定点旋转,圈数随机,onTouch后旋转。
二、程序框架:
组成功能主Activity:MyActivity1.实现animation2.实现onTouchView :MyView1.将突破绘制到MyView上三、程序源代码:
MyVIew.java
package com.androids.kavinapps.myapplication;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.animation.Animation;import android.view.animation.RotateAnimation;/** * Created by Administrator on 14-11-29. */public class MyView extends View{ //define roate animatioin public Animation mAnimationRoate; //define bitmap object Bitmap mBitmap = null; public MyView(Context context) { super(context); //load resource mBitmap = ((BitmapDrawable)getResources().getDrawable(com.androids.kavinapps.myapplication.R.drawable.choujiang1)).getBitmap(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint mPaint = null; //draw pic canvas.drawBitmap(mBitmap,0,40,null); }}
package com.androids.kavinapps.myapplication;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.os.Message;import android.os.Handler;//Handlerimport android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.view.animation.Animation;import android.view.animation.RotateAnimation;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;public class MyActivity extends Activity { AnimationDrawable mAnimation1 = null; int mRandom = 1;//随机数 MyView myView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myView = new MyView(this); setContentView(myView); mRandom = (int) (Math.random()*100); if(mRandom%5==0){ mRandom = 5; }else { mRandom = mRandom%5; } myView.mAnimationRoate = new RotateAnimation(0.0f, +(1800.0f +72*mRandom), Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f); //set the time of anim myView.mAnimationRoate.setDuration(3000); myView.mAnimationRoate.setFillAfter(true);//动画完成后不恢复原状 myView.startAnimation(myView.mAnimationRoate); }//onCreate public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mRandom = (int) (Math.random()*100); if(mRandom%5==0){ mRandom = 5; }else { mRandom = mRandom%5; } myView.mAnimationRoate = new RotateAnimation(0.0f, +(1800.0f +72*mRandom), Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f); myView.mAnimationRoate.setDuration(3000); myView.mAnimationRoate.setFillAfter(true);//动画完成后不恢复原状 myView.startAnimation(myView.mAnimationRoate); return true; } return true; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.my, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
四、部分代码分析
1.如何产生随机数
mRandom = (int) (Math.random()*100);2.如何使动画完成后,不恢复原装填
myView.mAnimationRoate.setFillAfter(true);//动画完成后不恢复原状
3.如何将drawable下的图片文件变为Bitmap
mBitmap = ((BitmapDrawable)getResources().getDrawable(com.androids.kavinapps.myapplication.R.drawable.choujiang1)).getBitmap();
2014年12月9日14:41:34
1 1
- android animation应用——图片绕固定点旋转
- Property Animation 旋转动画绕旋转对象任一点旋转
- Android图片旋转到固定方向方法
- 图片绕某一个点旋转
- Android应用开发——Property Animation
- Android开发应用——View Animation
- Android应用开发——Animation Drawable
- Android应用开发——Property Animation
- Android应用开发——Property Animation
- Android应用开发——Property Animation
- Android应用开发——Animation Drawable
- Android应用开发——Property Animation
- 空间两点绕某一固定点旋转公式
- Android ProgressBar应用(图片旋转)
- Android animation - 文字旋转示例
- 2014-11-8Android学习------Android 实现图片的旋转--------动画Animation学习篇
- android中的图片的每个点旋转矩阵
- android—补间动画(Tween Animation)旋转的血轮眼
- ScrollView 与 Autolayout
- Jquery选择器特殊用法
- ARS-航天睡眠康复体系
- 如何修改SAP table entry
- linux中查看某进程 ps -ef | grep java
- android animation应用——图片绕固定点旋转
- Android 中的监听器模式与观察者模式
- freemarker+spring mvc 的验证
- 关于@synchronized(self)的用法
- 关闭windows错误弹窗,这对python调用window命令非常有用
- SGU 103 Traffic Lights
- BZOJ 2929 Poi1999 洞穴攀行 最大流
- 【zz】关于DeviceIoControl实现异步的笔记
- Java 把指定路径的文件读入内存并用字节数组保存工具方法