起始页的小球动画 一
2019-03-24 18:57
134 查看
主页面
public class MainActivity extends AppCompatActivity { private CricleView mCricleView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 寻找继承的View mCricleView=(CricleView)findViewById(R.id.cricle); // 获取屏幕宽高 int width=getWindowManager().getDefaultDisplay().getWidth(); int height=getWindowManager().getDefaultDisplay().getHeight(); // 设置X Y轴移动方向 ObjectAnimator ObjectAnimatorX=ObjectAnimator.ofFloat(mCricleView,"translationX",0,width-100); ObjectAnimator ObjectAnimatorY=ObjectAnimator.ofFloat(mCricleView,"translationY",0,height-220); // 设置组合执行动画 AnimatorSet animatorSet = new AnimatorSet(); // 设置执行时间 animatorSet.setDuration(3000); // 设置一起执行 animatorSet.play(ObjectAnimatorX).with(ObjectAnimatorY); // 开关 animatorSet.start(); /* 添加监听事件,执行完成以后须要跳转,所以在这里写一个监听事件*/ animatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { // 小球动画结束后跳转到登录页面 startActivity(new Intent(MainActivity.this,LoginActivity.class)); // 结束 finish(); } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }); // handler设置变颜色 new Handler().postDelayed(new Runnable() { @Override public void run() { mCricleView.setColor(Color.BLUE); } },1000); new Handler().postDelayed(new Runnable() { @Override public void run() { mCricleView.setColor(Color.GREEN); } },2000); } }
View层
public class CricleView extends View { private Paint mPaint; public CricleView(Context context) { super(context); init(context); } public CricleView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } // 初始化 private void init(Context context) { // 定义画笔 mPaint = new Paint(); // 描边 mPaint.setAntiAlias(true); // 设置颜色 mPaint.setColor(Color.YELLOW); // 设置宽 mPaint.setStrokeWidth(5); } // 画布 @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 画圆 X轴,Y轴,半径三个数据值 最后传一个画笔 canvas.drawCircle(50,50,50,mPaint); } // 传递颜色 public void setColor(int color ){ // 改变颜色 mPaint.setColor(color); // 刷新改变颜色 invalidate(); } }
相关文章推荐
- android 购物车小球掉落动画
- Windows程序设计之简单的动画效果(小球弹一弹)
- less小球动画实现
- Android实现移动小球和CircularReveal页面切换动画实例代码
- Android仿视频加载旋转小球动画效果的实例代码
- Expression Design与Blend制作滚动的小球动画教程
- 用属性动画实现小球的落地和弹起
- 属性动画 自定义view小球从左上角移动到右下角 颜色渐变+跳转页面
- OpenCV实践之路——circle函数实现出下落的小球动画
- vue.js加入购物车小球动画
- Java动画 重力弹球 如鹏游戏引擎 精灵 设计一个小球加速落地又减速弹起并反复直到停止的Java程序
- 十八.2弹性动画 小球,悠悠球
- Android实现跳动的小球加载动画效果
- Expression Design与Blend制作滚动的小球动画教程(转)
- 小球动画
- 【javascript动画之圆形运动】环绕鼠标运动作小球(兼容ie,ff,chrome,……)
- 求解! vue2.0实现购物车小球掉落特效第一次点击动画失效(男默女泪的bug!)
- Android 属性动画:实现小球坠落
- HTML5 Canvas 图像动画的实现(实例小球弹跳)
- 粒子动画-躁动的小球代码全