2010-01-21 48 views
4

我創建了一個簡單的動畫派生類,並在視圖中添加了一個onclick監聽器(在本例中是一個LinearLayout,用於快速驗證概念),它在對象上調用startAnimation(將其傳遞給我的類的一個實例)。在我的Animation類中,我只需獲得對Translation的Matrix對象的引用並調用setTranslate。所以,翻譯看起來不錯,但是如果我嘗試再次點擊我現在看到的對象(翻譯的位置),則什麼都不會發生。如果我回到原始位置並單擊,它將從相同的起點重複相同的動畫。我的印象是翻譯實際上會翻譯對象本身,而不僅僅是視覺表現。有沒有辦法做到我期望在動畫課上發生的事情?或者,有沒有其他的標準方式來做這種事情?深入瞭解爲什麼這種行爲是這樣的?謝謝。Matrix.setTranslate()僅轉換視圖的可視表面而不是可點擊區域?

回答

0

不在文檔中指出它只修改矩陣。如果您想要實際更改系統對該視圖的其餘解釋,請設置一個動畫偵聽器,該動畫偵聽器在動畫結束時設置位置。

0

你可以使用View.setTranslationX()和View.setTranslationY(),那些應該在Android Honeycomb中做詭計,然後:)