最贊回答 / 黃淘淘
因為游戲每升級一次就會觸發TIME_CHANGED的消息隊列發送一次,而每次的TIME_CHANGED消息隊列都因為有?mHandler.sendEmptyMessage(NEXT_LEVEL)在繼續發送,所以如果升級了游戲,前面那個游戲等級的TIME_CHANGED消息就要remove掉 ?這是我的理解
2015-08-10
最贊回答 / Mae000
這個主要是使用了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