android 实现擦除动画 逐步显示 揭露动画
1 2 3 4 5 6 7 8 9 10 11 12 | // int width = binding.gameItemWinContext.getWidth(); // int height = binding.gameItemWinContext.getHeight(); // int ivXCenter = width/2; // int ivYCenter = height/2; // Logger.e("打印"+width); // float circleRadius = (float) Math.hypot(ivXCenter, ivYCenter); //// Animator circularReveal = ViewAnimationUtils.createCircularReveal(binding.gameItemWinContext, ivXCenter, ivYCenter, 0f, circleRadius); // Animator circularReveal = ViewAnimationUtils.createCircularReveal(binding.gameItemWinContext, ivXCenter, ivYCenter, 0f, circleRadius); // binding.gameItemWinContext.setVisibility(View.VISIBLE); // circularReveal.setInterpolator(new LinearInterpolator()); // circularReveal.setDuration(3000); // circularReveal.start(); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // int centerX = (binding.gameItemWinContext.getLeft() + binding.gameItemWinContext.getRight()) / 2; int centerX = 200 ; int centerY = (binding.gameItemWinContext.getTop() + binding.gameItemWinContext.getBottom()) / 2 ; // Math.hypot(x,y): 返回sqrt(x2 +y2) Logger.e( "打印" +binding.gameItemWinContext.getLeft()); // 获取扩散的半径 float finalRadius = ( float ) Math.hypot(( double ) centerX, ( double ) centerY); // 定义揭露动画 Animator mCircularReveal = ViewAnimationUtils.createCircularReveal( binding.gameItemWinContext, centerX, centerY, 0 , finalRadius); // 设置动画持续时间,并开始动画 mCircularReveal.setDuration( 1000 ); mCircularReveal.setInterpolator( new LinearInterpolator()); mCircularReveal.start(); |
分类:
android技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通