2011-11-23 2 views
2

안드로이드 앱에서 두 개의 뷰 플리퍼를 사용하여 뷰를 뒤집습니다. 보기를 뒤집을 때까지 지연을 제공하고 싶습니다. 뷰 플리퍼에서 클릭 핸들러를 호출합니다. 여기 내 코드가있다.안드로이드에서 viewflipper로보기를 뒤집는 방법?

@Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.oldmactwo); 

      flipper = (ViewFlipper) findViewById(R.id.jetViewflipper); 
      flippercow=(ViewFlipper) findViewById(R.id.cowViewflipper); 

      flippercow.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
     Toast.makeText(getApplicationContext(), "on click method call",Toast.LENGTH_SHORT).show();    

     try { 
      Thread.sleep(1000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
        flipper.setInAnimation(inFromLeftAnimation()); 
        flipper.setOutAnimation(outToLeftAnimation()); 
        flipper.showPrevious(); 

        try { 
         Thread.sleep(1000); 
        } catch (InterruptedException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 
        /*Thread splashThread=new Thread() 
        { 
         public void run() { 
          try { 
           sleep(5000); 
          } catch (InterruptedException e) { 
           // TODO: handle exception 
          } 
          finally{ 
           //splashThread.stop(); 
          } 

         }; 
        }; 
        splashThread.start();*/ 

    Toast.makeText(getApplicationContext(), "delay ends",Toast.LENGTH_SHORT).show();     
        //getcowFlipper();    
        flippercow.setInAnimation(inFromBottomAnimation()); 
        flippercow.setOutAnimation(outToTopAnimation()); 
        flippercow.showNext(); 
        //flipper.showPrevious(); 
    Toast.makeText(getApplicationContext(), "method ends",Toast.LENGTH_SHORT).show();    

       } 
      }); 
    } 

위 코드에서 지연이 먼저 실행 된 다음 나중에보기가 뒤집습니다.

+0

사용 [CountDownTimer (http://developer.android.com/reference/android/os/CountDownTimer.html) 및 수행 onTick 또는 Handler를 뒤집고 postDelay – Selvin

+0

ViewFlipper를 다시 사용하여 처음 사용한 것과 같은 방식으로 사용했습니다. Android Developer 사이트에서 startActivity() 메소드와 Intent Object를 살펴보아야한다. – Jordy

답변

1

귀하의 inFromLeftAnimation() + inFromRightAnimation() + outFromLeftAnimation() + outFromRightAnimation() 메소드는 다음과 같은 부분이 포함되어 부분 위

inFromLeft.setDuration(400); 

이 400ms 일 지연을 줄 것이다. 는 당연히 당신은 또한 inFromRight, outFromLeft을 등

예 가지고 :

private Animation inFromLeftAnimation() 
    { 
     Animation inFromLeft = new TranslateAnimation(
     Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, 
     Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); 

     inFromLeft.setDuration(400); 
     inFromLeft.setInterpolator(new AccelerateInterpolator()); 
     return inFromLeft; 
    } 
+0

나는 애니메이션에서 딜레이를하는 법에 대해 물어 보지는 않았지만, 플립 플립을 딜레이하는 법을 묻지 않는다고 생각한다. – Selvin

+0

그는 나타났다. – Jordy

관련 문제