以下のコードでアクティビティをスワイプします。
Animation anim;
int w = activityView.getMeasuredWidth();
int h = activityView.getMeasuredHeight();
int left = (int) (activityView.getMeasuredWidth() * 0.8);
if (!menuOut) {
anim = new TranslateAnimation(0, left, 0, 0);
menuView.setVisibility(View.VISIBLE);
animParams.init(left, 0, left + w, h);
} else {
anim = new TranslateAnimation(0, -left, 0, 0);
animParams.init(0, 0, w, h);
}
anim.setDuration(500);
anim.setAnimationListener(this);
anim.setFillAfter(true);
activityView.startAnimation(anim);
@Override
public void onAnimationEnd(Animation animation) {
System.out.println("onAnimationEnd");
menuOut = !menuOut;
if (!menuOut) {
menuView.setVisibility(View.INVISIBLE);
}
activityView.layout(animParams.left, animParams.top, animParams.right, animParams.bottom);
activityView.clearAnimation();
}
ここmenuView
とactivityView
は の 2 つのレイアウトですframelayout
。
activityview
Googleマップの問題が1つあります。マップに戻るとmenuview
hide.andactivityview
両方が同じアクティビティで表示されるため、に戻るときにonresumeも呼び出されませんactivityview
。
誰でもアニメーションの後にマップを維持するのを助けることができますか?