[問題] 多次TranslateAnimation無法接續位移
各位前輩好
我剛接觸android一兩個月
然而這個問題困擾我最近好一陣子
也上網查了很久
希望有人能為我解惑
目的:
我有一個ImageView iv 和 一個TranslateAnimation t
每次的user event(例如click button) 都會讓這個iv執行一次t的位移動畫
而我希望iv在執行完t以後就能留在原地
下次再執行t的時候 就從上一次的結果繼續位移下去
例如,
第一次從A點到B點座標
第二次 B->C
第三次 C->D
....
我的作法:
為了讓iv在執行完t以後留在原地
我在onAnimationEnd設置iv移動後的座標
public void onAnimationEnd(Animation arg0) {
int left = aaa.getLeft() + translateDist;
int width = aaa.getWidth();
int top = aaa.getTop();
int height = aaa.getHeight();
iv.clearAnimation();
iv.layout(left, left+wdith, top, top+height);
}
一樣假設第一次的動畫把iv從A點移動到了B點
然而以上的作法雖然讓iv在第一次執行完t以後留在了原地B
在執行同一個t的前提下, 接下來的每次的動畫都只能重複把iv從A移動到B
(也就是iv又跳回了A在移動到B)
我也交錯試了setFillAfter和setFillEnable
或是其他設置view位置的方法, setLeft, setRigth...
結果還是一樣
目前我只能記錄著移動完的座標
然後依照新的座標每次都new一個新的TranslationAnimation t'來達到我想要的效果
但我很不想這樣做
(因為除了我有多個ImageView之外, 我需要的動畫比舉例的還要複雜)
而且我也很好奇我的iv.layout的確改變了位置
為什麼執行動畫的時候還是跳了回去呢
希望有人能為我解惑
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.245.217
※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1396122042.A.49A.html
推
03/30 04:14, , 1F
03/30 04:14, 1F
→
03/30 04:14, , 2F
03/30 04:14, 2F
→
03/30 04:14, , 3F
03/30 04:14, 3F
→
03/30 09:13, , 4F
03/30 09:13, 4F
推
03/30 10:01, , 5F
03/30 10:01, 5F
→
03/30 11:31, , 6F
03/30 11:31, 6F
→
03/30 11:39, , 7F
03/30 11:39, 7F
→
03/30 11:40, , 8F
03/30 11:40, 8F
→
03/30 12:58, , 9F
03/30 12:58, 9F
→
03/30 12:58, , 10F
03/30 12:58, 10F
推
03/30 19:18, , 11F
03/30 19:18, 11F
→
03/31 01:24, , 12F
03/31 01:24, 12F
→
03/31 01:26, , 13F
03/31 01:26, 13F
推
03/31 21:47, , 14F
03/31 21:47, 14F
推
03/31 22:29, , 15F
03/31 22:29, 15F
→
03/31 22:30, , 16F
03/31 22:30, 16F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):