1
我使用下面的代碼動畫擴張佈局:安卓:擴大動畫不工作
class ExpandAnimation extends Animation {
private View _view;
private int _startHeight;
private int _finishHeight;
public ExpandAnimation(View view, int startHeight, int finishHeight) {
_view = view;
_startHeight = startHeight;
_finishHeight = finishHeight;
setDuration(500);
System.out.println(_startHeight);
System.out.println(_finishHeight);
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
int newHeight = (int)((_finishHeight - _startHeight) * interpolatedTime + _startHeight);
_view.getLayoutParams().height = newHeight;
_view.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
}
@Override
public boolean willChangeBounds() {
return true;
}
};
這個動畫創建我點擊一個按鈕,每一次。它被正確地調用(選中System.out.println並打印正確的值),但是在模擬器動畫中只運行15次。確切地說它隱藏起來效果很好,但擴展只能工作一次(在模擬器上,不能在手機上工作)。
可能是什麼問題?
感謝在前進
編輯:佈局我試圖動畫是FrameLayout裏。它具有TextView作爲子項,並且finishHeight通過textView度量高度來衡量。值是正確的。我也嘗試調用textView.requestLayout()在應用轉換重繪佈局,但它不起作用。它有時只是擴展。如果您需要更多代碼,請隨時提問。
我有很多可放大的可點擊區域,它在手機上效果更好,但它仍然不是100%。有時我的手機會識別出我點擊了2個項目,並且它們都展開了。但我認爲他們現在足夠大(如1,2釐米)......真的不知道如何使這項工作更好 – horin 2014-12-08 17:39:53