Rotation动画的基本使用:
android:fromDegrees 起始的角度度数

android:toDegrees 结束的角度度数,负数表示逆时针,正数表示顺时针。如10圈则比android:fromDegrees大3600即可

android:pivotX 旋转中心的X坐标

浮点数或是百分比。浮点数表示相对于Object的左边缘,如5; 百分比表示相对于Object的左边缘,如5%; 另一种百分比表示相对于父容器的左边缘,如5%p; 一般设置为50%表示在Object中心

android:pivotY 旋转中心的Y坐标

浮点数或是百分比。浮点数表示相对于Object的上边缘,如5; 百分比表示相对于Object的上边缘,如5%; 另一种百分比表示相对于父容器的上边缘,如5%p; 一般设置为50%表示在Object中心

android:duration 表示从android:fromDegrees转动到android:toDegrees所花费的时间,单位为毫秒。可以用来计算速度。

android:interpolator表示变化率,但不是运行速度。一个插补属性,可以将动画效果设置为加速,减速,反复,反弹等。默认为开始和结束慢中间快,

android:startOffset 在调用start函数之后等待开始运行的时间,单位为毫秒,若为10,表示10ms后开始运行

android:repeatCount 重复的次数,默认为0,必须是int,可以为-1表示不停止

android:repeatMode 重复的模式,默认为restart,即重头开始重新运行,可以为reverse即从结束开始向前重新运行。在android:repeatCount大于0或为infinite时生效

android:detachWallpaper 表示是否在壁纸上运行

android:zAdjustment 表示被animated的内容在运行时在z轴上的位置,默认为normal。

normal保持内容当前的z轴顺序

top运行时在最顶层显示

bottom运行时在最底层显示

 
b. 运行速度

运行速度为运行时间(android:duration)除以运行角度差(android:toDegrees-android:fromDegrees),比如android:duration为1000,android:toDegrees为360,android:fromDegrees为0就表示1秒转1圈。

 

//下面是一个实例:

<?xml version="1.0" encoding="utf-8"?>    

Java代码如下所示,实现的一个模拟的抽奖

btn_stop.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if(flag){over=System.currentTimeMillis();//停止动画iv_inner.clearAnimation();//利用开始和结束的时间差从而计算rotation旋转了多少度float degree=((over-start)%100)*3.6f;Animation rotation=new RotateAnimation(0.0f, 360+degree, Animation.RELATIVE_TO_SELF, 0.51f, Animation.RELATIVE_TO_SELF, 0.42f);rotation.setDuration(100);rotation.setFillAfter(true);rotation.setRepeatMode(RotateAnimation.RESTART);iv_inner.startAnimation(rotation);String s="";AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this).setTitle("抽奖结果").setMessage(s);if(degree>9&°ree<=46){dialog.setMessage("恭喜您获得!充值送话费").create().show();}else if(degree>82&°ree<=118){dialog.setMessage("恭喜您获得!天翼业务,免费试用").create().show();}else if(degree>154&°ree<=190){dialog.setMessage("恭喜您获得!省景区免费一日游").create().show();}else if(degree>226&°ree<=262){dialog.setMessage("恭喜您获得!充值送话费").create().show();}else if(degree>298&°ree<=334){dialog.setMessage("恭喜您获得!智能手机一部").create().show();}else{dialog.setMessage("很遗憾!谢谢惠顾").create().show();}media.stop();media.release();media=null;flag=false;}}});

 


 

更多相关文章

  1. Android 中进度计算--百分比显示
  2. Android ListView 一些设置 , 去除边缘阴影
  3. Android ListView 去除边缘阴影、选中色、拖动背景色等(转)
  4. [整] Android ListView 去除边缘阴影、选中色、拖动背景色等
  5. 博文视点大讲堂35期-It's Android Time:程序员创富有道! 圆满结束
  6. 边缘图片android布局属性详解
  7. Android 百分比布局
  8. Android RecyclerView 去掉滑动边缘阴影效果

随机推荐

  1. Opencv JNI Android(安卓)Camera 效率分
  2. 获取listview checkbox选择的值 android
  3. android之Intent的七大属性
  4. Android(安卓)Studio 一个module引用另一
  5. Android中inflate简介
  6. Android内存泄漏检测工具使用手册
  7. Android(安卓)自定义View控件,实现跟随手
  8. Android(安卓)setXfermode 遮罩 实现圆形
  9. Android与Js调用
  10. 编写高效的Android代码(译)