我正在使用翻譯和縮放動畫。首先,我將幀佈局轉換到屏幕中心,並使用佈局參數將其位置參數設置到屏幕中心。這工作正常!在翻譯動畫結束時,我運行縮放動畫,我的佈局縮放爲其原始大小的2倍。其實我的框架佈局(我是動畫)由按鈕和圖像視圖組成。和android一樣,動畫不會轉換視圖,只會改變它必須繪製的位置。現在我的問題是,我無法讓我的按鈕工作。因爲他們實際上並不存在!android在縮放動畫後設置新大小
我在動畫結束後通過設置其位置參數找到了翻譯動畫的解決方案。這將視圖永久移動到新位置。
但是,在縮放動畫的情況下,我必須改變佈局的大小以及其內的孩子。但它不起作用,因爲我將原始高度寬度乘以比例因子。這裏是我的比例尺動畫代碼。
ScaleAnimation scaleAnim = new ScaleAnimation(1.0f, 2.0f, 1.0f,
2.0f, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
scaleAnim.setDuration(600);
// scaleAnim.setFillEnabled(true);
scaleAnim.setFillAfter(true);
view.setAnimation(scaleAnim);
view.startAnimation(scaleAnim);
scaleAnim.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationEnd(Animation animation) {
FrameLayout.LayoutParams par = (FrameLayout.LayoutParams) view
.getLayoutParams();
par.height = view.getMeasuredHeight() * 2;
par.width = view.getMeasuredWidth() * 2;
view.setLayoutParams(par);
view.requestLayout();
}
});
p.s that setFillAfter(true)and setFillEnabled(true)are not the solution。
你可以通過把你想要它是一切,當動畫結束做到這一點,然後將其動畫到該位置。確保在動畫開始之前將其隱藏並禁用按鈕,直到動畫結束。 – TofferJ
問題是通過縮放動畫原始高度和寬度在縮放後不會改變。所以我的按鈕不起作用 –
即使您創建它們的全尺寸,然後將它們從比例10%縮放到原始大小,也不是這樣嗎?我用翻譯和縮放動畫做了類似的事情。當動畫完成時,我可以點擊按鈕。我會盡力爲你挖掘那段代碼。 – TofferJ