有一堆金子的图像,有一个动画打开的箱子。当您点击一堆时,它应该变成一把硬币并飞入胸部。动画这些硬币的最佳方法是什么?将每个加载为 ImageView 并分别设置动画?
回复评论:
- 我还是一个初学者,我只使用 ConstraintLayout,在它发生的课程之后。我应该将所有内容都更改为相对吗?
- 我不需要从 AppCompatActivity 继承你的类,只需执行必要的导入?
- R.dimen.paddings 中的paddings参数以红色突出显示。
- 我对这条线感到困惑。
((类型父 startView)startView.getParent).removeView(startView);
改成这样:
((ImageView)startView.getParent()).removeView(startView);
但现在 removeView() 是红色的。
- 在实现一个类时,我的主类需要声明抽象或实现一个抽象方法 AnimationEnd(int)
我将下面的课程用于类似的目的(在我的情况下,点飞)。
用法:在需要时为每个堆创建一个实例并传递上下文
RelativeLayout(是的,根必须是Viewactivity.RelativeLayoutYou canFrameLayout)、移动开始的图像(你的堆,无论它在哪里)、胸部的图像(钱会飞到哪里)),将“飞”的金额(金额)。offset- 为了正确操作(我不知道偏移量来自哪里,但确实如此)dimens*2- 占两个父母padding在接收器类中不要忘记
implements AnimateScore.AnimationEnd如果某些东西不起作用或您有疑问,请稍微调整课程以适应答案 - 请写在评论中;)
一次:
二:不,只是在适当的时候调用实例:
new AnimateScore (YourActivity.this, findViewById(R.id.globalcont),your_coin_pile_img,your_chest_img, 100)三:这些是我在
dimen. 您可以删除它或将光标移到那里,按 alt+enter 并输入一个值(通常为 5-10-15dp)。或者dimen手动注册。四:“type parent”——你的“黄金堆”所在的容器类型(LinearLayout、FrameLayout、ConstrainLayout等)
五:实现:)(当光标为红色时,alt+enter)。可选部分,可与
interface. 需要它来跟踪动画何时“到达”,例如,然后才将硬币添加到胸部。