2012-12-03 42 views
0

我有4個可點擊的圖像,超越了屏幕的中心。點擊其中一幅圖像後,我希望圖像從當前位置滑動到屏幕中央。Android - 圖像動畫無法按預期工作

一旦圖像到達屏幕的中心,我想圖像翻轉,然後我的片段加載。

我該如何獲得這個完整的序列?我有我的片段加載,但我不確定如何創建一個動畫,將我的圖像從當前位置滑動到中心。該頁面的佈局是已知的,如下所示。

其中2,4,6,8是我的圖片,我想滑動,並且圖5是我希望他們的位置滑動到點擊(然後翻轉並顯示我的片段)。

感謝, DMAN

編輯:

有一件事我不能讓發生在順序播放的事件。目前,當我點擊圖片時,它會等待我在flip_image.xml動畫上設置的偏移量,然後在給予flip_image.xml動畫的持續時間內一次播放它們。任何幫助,將不勝感激。

slide_left.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="0%" 
    android:toXDelta="-112%" 
    android:duration="1000"/> 

slide_alpha.xml

<?xml version="1.0" encoding="utf-8"?> 
<alpha 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromAlpha="0.8" 
    android:toAlpha="1.0" 
    android:duration="1000" /> 

flip_image.xml

<?xml version="1.0" encoding="utf-8"?> 
<scale 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXScale="0.0" 
    android:toXScale="1.0" 
    android:pivotX="50%" 
    android:fromYScale="1.0" 
    android:toYScale="1.0" 
    android:startOffset="1000" 
    android:duration="200" /> 

長途區號:

private void loadFragmentAnimation(final ImageView view, final int slideDirection) { 
     AnimationSet animSet = new AnimationSet(true); 
     animSet.addAnimation(AnimationUtils.loadAnimation(getActivity(), slideDirection)); 
     animSet.addAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.slide_alpha)); 
     animSet.addAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.flip_image)); 
     animSet.setAnimationListener(new AnimationListener() { 

      public void onAnimationStart(Animation animation) {    
      } 

      public void onAnimationRepeat(Animation animation) {     
      } 

      public void onAnimationEnd(Animation animation) { 
       // mCallBack.categorySelected(view.getId()); 
      } 
     }); 

     view.startAnimation(animSet); 
    } 

回答

0

使用View animation

  1. 創建AnimationSetTranslateAnimation 接着是ScaleAnimation模擬翻轉(您可能需要 鏡像在翻蓋另一側的圖像。也許有 更簡單的方法?)。
  2. 然後使用 setAnimation()將動畫設置爲ImageView

我想你應該也可以在XML中指定動畫。

編輯:

對於翻轉動畫,您可以參考以下鏈接:

+0

感謝很多關於這一點,似乎是加工。我不能發生的一件事是按順序播放的事件。目前,當我點擊圖片時,它會等待我在其中一個動畫上設置的偏移量,然後在僅給予偏移量的動畫的持續時間內一次播放它們。我將在上面提供我的代碼。任何幫助,將不勝感激。 – DMCApps

+1

@DheerajVS我已經更新了我的問題,任何幫助,這將非常感謝 – DMCApps