1
我有2個視圖使用相同的動畫,在此動畫期間,這些視圖應該更改您的Z順序例如視圖A在動畫過程中位於視圖B中我更改了該順序,這與viewA或viewB .bringToFront();但是更新不是直接的,我需要在確切點改變Z順序。在動畫期間更改Z順序
謝謝。
我有2個視圖使用相同的動畫,在此動畫期間,這些視圖應該更改您的Z順序例如視圖A在動畫過程中位於視圖B中我更改了該順序,這與viewA或viewB .bringToFront();但是更新不是直接的,我需要在確切點改變Z順序。在動畫期間更改Z順序
謝謝。
我解決這個問題如下:
第一動畫設置自定義內插器,你的類需要實現的ICustomInterpolator
animation.setInterpolator(new CustomInterpolator(this));
a.startAnimation(animation);
b.startAnimation(animation);
後
public void currentProgress(float p, float time) {
if(time == yourTime){
a.bringToFront();
a.invalidate();
b.invalidate();
a.requestLayout();
b.requestLayout();
}
}
的currentProgress是Inteface方法的自定義插補器:
public interface ICustomInterpolator {
public void currentProgress(float p, float time);
}
in customInterpolator:
public class CustomInterpolator extends
AccelerateDecelerateInterpolator {
private ICustomInterpolator delegate;
public <T extends ICustomInterpolator> CustomInterpolator(T delegate) {
super();
this.delegate = delegate;
}
@Override
public float getInterpolation(float input) {
delegate.currentProgress(input);
return super.getInterpolation(input);
}
}