本文共 1711 字,大约阅读时间需要 5 分钟。
Android Property Animation属性动画:rotation旋转(2)
附录的文章1,说明了如何简单的实现一个Android的属性动画Property Animation渐变透明。
本文以Android属性动画的旋转为例,说明如何实现Android属性动画Property Animation的旋转。和附录的文章1为基础,只需要在附录文章1的基础上略加修改,即可实现Property Animation属性动画的旋转。package zhangphil.anim;import android.animation.ObjectAnimator;import android.animation.ValueAnimator;import android.animation.ValueAnimator.AnimatorUpdateListener;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;public class MainActivity extends Activity { private TextView text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text = (TextView) findViewById(R.id.text); } // 动画实际执行 private void startPropertyAnim() { // 第二个参数"rotation"表明要执行旋转 // 0f -> 360f,从旋转360度,也可以是负值,负值即为逆时针旋转,正值是顺时针旋转。 ObjectAnimator anim = ObjectAnimator.ofFloat(text, "rotation", 0f, 360f); // 动画的持续时间,执行多久? anim.setDuration(5000); // 回调监听 anim.addUpdateListener(new AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { float value = (Float) animation.getAnimatedValue(); Log.d("zhangphil", value + ""); } }); // 正式开始启动执行动画 anim.start(); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_anim) { // 此处正式启动属性动画 startPropertyAnim(); return true; } return super.onOptionsItemSelected(item); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }}附录文章: 1,《Android Property Animation属性动画初识:透明渐变(1)》链接地址:
转载地址:http://zjjka.baihongyu.com/