charspan
2016-08-19 06:47
老师的动画上下左右判断错了?Toast的结果和实际的不一致
public void changeDataByImageView(final ImageView mImageView) {
// 创建动画,设置方向、移动距离
TranslateAnimation translateAnimation = null;
if (mImageView.getX() > iv_null_ImageView.getX()) {// 在空方块下面
// 往上移动
translateAnimation = new TranslateAnimation(0.1f, -mImageView.getWidth(), 0.1f, 0.1f);
Toast.makeText(MainActivity.this, "上移", Toast.LENGTH_SHORT).show();
} else if (mImageView.getX() < iv_null_ImageView.getX()) {//
// 下
translateAnimation = new TranslateAnimation(0.1f, mImageView.getWidth(), 0.1f, 0.1f);
Toast.makeText(MainActivity.this, "下移", Toast.LENGTH_SHORT).show();
} else if (mImageView.getY() > iv_null_ImageView.getY()) {//
// 左
translateAnimation = new TranslateAnimation(0.1f, 0.1f, 0.1f, -mImageView.getWidth());
Toast.makeText(MainActivity.this, "左移", Toast.LENGTH_SHORT).show();
} else if (mImageView.getY() < iv_null_ImageView.getY()) {//
// 右
translateAnimation = new TranslateAnimation(0.1f, 0.1f, 0.1f, mImageView.getWidth());
Toast.makeText(MainActivity.this, "右移", Toast.LENGTH_SHORT).show();
}
// 设置动画时长
translateAnimation.setDuration(70);
// 动画结束之后停留
translateAnimation.setFillAfter(true);
// 动画结束后真正的把数据交换
translateAnima
如果要是按自己的逻辑实现起来总是错的,不知道正确的方法。那么可以把activity这个类的代码都发过来,我结果上下文看看是不是其它地方写错了
上下左右的问题是逻辑问题,既然你已经知道要用什么方式去判断了,逻辑问题可以自己优化一下,只要结果对就行。我讲的应该都没问题,至少我运行起来是可以玩的没发现问题。
快速实现不一样的移动拼图
15576 学习 · 67 问题
相似问题