課程
/移動開發
/Android
/Android美女拼圖小游戲
不是太能理解
2015-08-08
源自:Android美女拼圖小游戲 1-4
正在回答
這個主要是使用了TranslateAnimation動畫的原因 ,這種動畫只是效果上的移動,并沒有真正移動ImageView本身,也就是ImageView的真正位置值沒有發生變化,你可以打印它們的(x,y)才查看一 下,換句話說當你點擊 0和9位置上的ImageView時,雖然看到了交換的效果,但實質上0和9位置上的ImageView還是原來的那兩個ImageView,點擊的時候還是0和9對應的ImageView響應事件,而不是我們期望的讓9和0對應的ImageView去響應事件,所以才在上面加一層布局來執行動畫達到我們想要的動畫效果,而代碼內部做數據的交換,因為加上的那層布局是專門為了執行動畫而添加的布局,所以也叫動畫層,其實如果要真正執行動畫并移動ImageView本身,可以使用屬性動畫ValueAnimation來做,這種屬性動畫的移動才能真正的做到ImageView位置的移動。
就只是拿來展現讓你看一下兩個imageview交換時translateAnimation的動畫效果,用完就remove掉
舉報
本視頻教程將帶領大家通過自定義控件實現一個拼圖游戲
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-25
這個主要是使用了TranslateAnimation動畫的原因 ,這種動畫只是效果上的移動,并沒有真正移動ImageView本身,也就是ImageView的真正位置值沒有發生變化,你可以打印它們的(x,y)才查看一 下,換句話說當你點擊 0和9位置上的ImageView時,雖然看到了交換的效果,但實質上0和9位置上的ImageView還是原來的那兩個ImageView,點擊的時候還是0和9對應的ImageView響應事件,而不是我們期望的讓9和0對應的ImageView去響應事件,所以才在上面加一層布局來執行動畫達到我們想要的動畫效果,而代碼內部做數據的交換,因為加上的那層布局是專門為了執行動畫而添加的布局,所以也叫動畫層,其實如果要真正執行動畫并移動ImageView本身,可以使用屬性動畫ValueAnimation來做,這種屬性動畫的移動才能真正的做到ImageView位置的移動。
2015-12-16
就只是拿來展現讓你看一下兩個imageview交換時translateAnimation的動畫效果,用完就remove掉