2013-04-08 66 views
1

我創建了一個將「卡」翻轉到背面的動畫。 爲了達到這個目的,我在每個,前面和後面都使用了setRotationYBy()和setVisibility()。 動畫本身工作正常,但動畫運行時,兩張卡的內容消失(並在動畫完成時重新出現)。 cardFront.setOnClickListener(新OnClickListener(){當rotationY動畫時,ViewGroup的Android內容消失

 @Override 
     public void onClick(View v) { 


      final Runnable moveMapDown = new Runnable() { 
       public void run() { 
        map.animate().y(0); 
       } 
      }; 
      final Runnable flipCard2 = new Runnable() { 
       public void run() { 
        cardBack.setVisibility(View.VISIBLE); 
        cardFront.setVisibility(View.INVISIBLE); 
        currentFront = false; 
CardBack.animate().rotationYBy(90).setInterpolator 
(new DecelerateInterpolator()).withEndAction(moveMapDown).setDuration(300); 
        cardFront.setRotationY(180); 

       } 
      }; 
      Runnable flipCard = new Runnable() { 
       public void run() { 
        cardBack.setRotationY(-90); 
       cardFront.animate().rotationYBy(90).setInterpolator 
       (new AccelerateInterpolator()).withEndAction(flipCard2).setDuration(300); 

       } 
      }; 

      map.animate().y(-200).withEndAction(flipCard); 

     } 

    }); 

XML的佈局的後側(前幾乎相同的)

<RelativeLayout 
     android:id="@+id/back" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/imageView1" 
     android:layout_centerHorizontal="true" 
     android:layout_centerInParent="true" 
     android:layout_centerVertical="true" 
     android:layout_marginTop="-18dp" 
     android:background="@drawable/bgpatch" 
     android:paddingBottom="16dp" 
     android:paddingLeft="8dp" 
     android:paddingRight="8dp" 
     android:paddingTop="6dp" 
     android:visibility="invisible" > 

     <RelativeLayout 
      android:layout_width="300dp" 
      android:layout_height="288dp" 
      android:background="@drawable/dayplan_element_bg" > 

      <RelativeLayout 
       android:id="@+id/background" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="@drawable/dayplan_element_bg" 
       android:paddingBottom="2dp" 
       android:paddingLeft="8dp" 
       android:paddingRight="8dp" 
       android:paddingTop="2dp" > 

       <TextView 
        android:id="@+id/backTitle" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_centerHorizontal="true" 
        android:layout_centerInParent="true" 
        android:layout_centerVertical="true" 
        android:gravity="center" 
        android:text="zusätzliche Informationen" 
        android:textAppearance="?android:textAppearanceLarge" 
        android:textColor="@android:color/primary_text_dark" 
        android:textSize="30sp" 
        android:textStyle="italic" /> 
      </RelativeLayout> 

      <View 
       android:id="@+id/view1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="-1dp" 
       android:background="@drawable/shadow" /> 
     </RelativeLayout> 
    </RelativeLayout> 

回答

0

實測值的溶液: 我有硬件加速設置爲假由於應用程序的另一部分,需要這個。 設置它回到真相,它的工作原理!