動(dòng)畫(huà)上下左右判斷
老師的動(dòng)畫(huà)上下左右判斷錯(cuò)了?Toast的結(jié)果和實(shí)際的不一致
public void changeDataByImageView(final ImageView mImageView) {
// 創(chuàng)建動(dòng)畫(huà),設(shè)置方向、移動(dòng)距離
TranslateAnimation translateAnimation = null;
if (mImageView.getX() > iv_null_ImageView.getX()) {// 在空方塊下面
// 往上移動(dòng)
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();
}
// 設(shè)置動(dòng)畫(huà)時(shí)長(zhǎng)
translateAnimation.setDuration(70);
// 動(dòng)畫(huà)結(jié)束之后停留
translateAnimation.setFillAfter(true);
// 動(dòng)畫(huà)結(jié)束后真正的把數(shù)據(jù)交換
translateAnima
2016-08-19
如果要是按自己的邏輯實(shí)現(xiàn)起來(lái)總是錯(cuò)的,不知道正確的方法。那么可以把a(bǔ)ctivity這個(gè)類的代碼都發(fā)過(guò)來(lái),我結(jié)果上下文看看是不是其它地方寫(xiě)錯(cuò)了
2016-08-19
上下左右的問(wèn)題是邏輯問(wèn)題,既然你已經(jīng)知道要用什么方式去判斷了,邏輯問(wèn)題可以自己優(yōu)化一下,只要結(jié)果對(duì)就行。我講的應(yīng)該都沒(méi)問(wèn)題,至少我運(yùn)行起來(lái)是可以玩的沒(méi)發(fā)現(xiàn)問(wèn)題。