2013-07-04 6 views
6

Chcę ukryć dicelayout (dicelout był w mainboardlinear), ale po zakończeniu animacji ekran migał z powodu View.GONE! jeśli ustawię setfillafter na true i clear View.GONE, nie mam już problemu z lampą błyskową, ale mój scrollview w mainboardlinear nie może być przewijany w tym przypadku!Ukryj widok z animacją i ustaw widoczność, aby zniknął bez błysku ekran

   final RelativeLayout rLayout=(RelativeLayout)findViewById(R.id.dicelayout); 


      Animation animation=new TranslateAnimation(0, 0, 0, -rLayout.getHeight()); 
      animation.setFillAfter(false); 
      animation.setFillBefore(true); 
      animation.setDuration(1000); 
      ((LinearLayout)findViewById(R.id.mainboardlinear)).startAnimation(animation); 


      Thread t=new Thread(new Runnable() { 
       public void run() { 
       try { 
        Thread.sleep(999); 
        runOnUiThread(new Runnable() { 
         public void run() { 

         rLayout.setVisibility(View.GONE); 
         } 
        }); 

       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       } 
      }); 
      t.start(); 

Odpowiedz

9

za pomocą onAnimationEnd z setAnimationListener i setFillEnabled rozwiązać mój problem.

Animation animation=new TranslateAnimation(0, 0, 0, -rLayout.getHeight()); 
      animation.setFillEnabled(true); 

      animation.setDuration(1000); 
      animation.setAnimationListener(new AnimationListener() { 

       @Override 
       public void onAnimationStart(Animation animation) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
       public void onAnimationRepeat(Animation animation) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
       public void onAnimationEnd(Animation animatiofillAftern) { 
        // TODO Auto-generated method stub 
        //      mainBoardLinear.removeView(rLayout); 
        rLayout.setVisibility(View.GONE); 

       } 
      }); 

      mainBoardLinear.startAnimation(animation); 
Powiązane problemy