为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

2 回答

这个主要是使用了TranslateAnimation动画的原因 ,这种动画只是效果上的移动,并没有真正移动ImageView本身,也就是ImageView的真正位置值没有发生变化,你可以打印它们的(x,y)才查看一 下,换句话说当你点击 0和9位置上的ImageView时,虽然看到了交换的效果,但实质上0和9位置上的ImageView还是原来的那两个ImageView,点击的时候还是0和9对应的ImageView响应事件,而不是我们期望的让9和0对应的ImageView去响应事件,所以才在上面加一层布局来执行动画达到我们想要的动画效果,而代码内部做数据的交换,因为加上的那层布局是专门为了执行动画而添加的布局,所以也叫动画层,其实如果要真正执行动画并移动ImageView本身,可以使用属性动画ValueAnimation来做,这种属性动画的移动才能真正的做到ImageView位置的移动。

1 回复 有任何疑惑可以回复我~

就只是拿来展现让你看一下两个imageview交换时translateAnimation的动画效果,用完就remove掉

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android美女拼图小游戏
  • 参与学习       25697    人
  • 解答问题       97    个

本视频教程将带领大家通过自定义控件实现一个拼图游戏

进入课程

动画层的作用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信