最赞回答 / 为梦而战之学习
这个主要是使用了TranslateAnimation动画的原因 ,这种动画只是效果上的移动,并没有真正移动ImageView本身,也就是ImageView的真正位置值没有发生变化,你可以打印它们的(x,y)才查看一 下,换句话说当你点击 0和9位置上的ImageView时,虽然看到了交换的效果,但实质上0和9位置上的ImageView还是原来的那两个ImageView,点击的时候还是0和9对应的ImageView响应事件,而不是我们期望的让9和0对应的ImageView去响应事件,所以才在上面加一层布局来...
2015-08-08
最赞回答 / qq_o夜以罙_0
我的也是,不过原因找到了,主要是由于你创建动画层的时候,宽高是默认的,就是wrap那个,结果你第一次addview进去动画层的时候就自动把宽高设置成了item的宽高,所以你必须在创建动画层的时候设置他的宽高,其实很简单,只要你在addview(动画层)之前RelativeLayout.LayoutParams rp = new RelativeLayout.LayoutParams(mWidth, mHeight); mAnimLayout = new RelativeLayout(getContex...
2015-08-03