2

以下のコードでアクティビティをスワイプします。

    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();
}

ここmenuViewactivityView は の 2 つのレイアウトですframelayout

activityviewGoogleマップの問題が1つあります。マップに戻るとmenuviewhide.andactivityview両方が同じアクティビティで表示されるため、に戻るときにonresumeも呼び出されませんactivityview

誰でもアニメーションの後にマップを維持するのを助けることができますか?

4

1 に答える 1