我必須通過編程實現(子)佈局翻譯動畫,因爲要在運行時確定要翻譯的距離。例如,我已經設置了以下翻譯動畫動態佈局設計
TranslateAnimation tanim = new TranslateAnimation(
TranslateAnimation.ABSOLUTE, 0.0f,
TranslateAnimation.ABSOLUTE, 0.0f,
TranslateAnimation.ABSOLUTE, 0.0f,
TranslateAnimation.ABSOLUTE, 100);
例如,向下滑動佈局。
問題1:動畫結束後,此佈局將恢復到其原始位置。我應該設置什麼來維持其立場?我懷疑這是由於佈局移出父佈局(父佈局具有參數layout_width="wrap_content"
)造成的。如果是這種情況,我如何調整父級佈局以適應子佈局更改?
問題2:我是否必須提供自定義插補器類以實現減速效果?如果是的話,你知道我在哪裏可以找到一個例子嗎?在XML中我可以做到這一點
android:interpolator="@android:anim/accelerate_interpolator"
是否有一個相當於Android的代碼以編程方式實現加速/減速的效果呢?
您必須將佈局的佈局參數設置爲新的位置,因爲'Translate Animation'只是移動像素而不是視圖/佈局,事實上您的佈局將處於原始位置但不可見 – 2013-05-07 07:18:45
這就是實際上我現在有一個問題。你能舉一些例子說明如何將我的點擊敏感區域向原始佈局移動100dp? – Neoh 2013-05-08 02:38:42
是的,這裏是一個完整的答案,我給了例子代碼http://stackoverflow.com/a/15880375/1939564 – 2013-05-08 08:05:30