2011-06-06 28 views
0

我正在處理視圖鰭狀肢。在我的視圖中,我有2個視圖,在第二個視圖中,完成了一個框架動畫,一個從底部翻譯的動畫彈出菜單。當我按下後退按鈕時,我可以從第二個視圖翻轉到第一個視圖,但是當我從第一個視圖切換到第二個視圖時,彈出菜單沒有消失。我用reset()和setfillafter()方法,但沒有結果 如何解決這個問題?任何想法?Android:動畫菜單不消失

這是我的代碼。

final Animation popup = new TranslateAnimation(0, 0, 200, 0); 
      popup.setDuration(20000); 
      popup.setFillAfter(true); 


hearttap.setOnClickListener(new View.OnClickListener() { 
      public void onClick(final View view) { 

final RelativeLayout popuplayout = (RelativeLayout) findViewById(R.id.popuplayout); 
       final ImageView ekgimgview4 = (ImageView) findViewById(R.id.ekgimgview4); 
       ekgimgview4.setVisibility(ImageView.VISIBLE); 
       ekgimgview4.setBackgroundResource(R.anim.ekgtimer); 

AnimationDrawable ekgframeAnimation4 = (AnimationDrawable) ekgimgview4 
         .getBackground(); 

       if (ekgframeAnimation4.isRunning()) { 
        findViewById(R.id.ekgimgview4).postDelayed(new Runnable() { 
        public void run() { 
        // openOptionsMenu(); 
         popuplayout.startAnimation(popup); 
         popup.setFillAfter(true); 
         popup.setStartTime(30000); 
         ekgimgview4.setVisibility(view.GONE); 

        } 
       }, 30000); 


final Button ekgbutton = (Button) findViewById(R.id.ekgbutton); 
     ekgbutton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 

     RelativeLayout popuplayout = (RelativeLayout) findViewById(R.id.popuplayout); 

      popuplayout.setVisibility(View.INVISIBLE); 

    } 
     }); 

回答

0

您需要爲彈出窗口使用dismiss()函數。因此,使用下面的代碼,只要你瀏覽之間轉換:

popup.dismiss(); 

我會編輯成你自己的代碼,但StackOverflow上能夠處理顯示代碼標記的方式使你的代碼半到HTML代碼標籤,另一半不是。

+0

嗨,謝謝,但解僱()是一種內置的方法? ctrl + tab不顯示此方法/功能 – Jamesdroid 2011-06-06 07:43:57

+0

@Jamesdroid:對不起,我以爲popup是一個PopupWindow。你嘗試過使用cancel()方法嗎? – Jon 2011-06-06 08:12:04

+0

哈哈哈它的工作與取消(),再次感謝親愛的 – Jamesdroid 2011-06-06 09:00:22