2013-04-12 65 views
13

我創建的動畫在用戶轉到特定活動時顯示。基本上,這個活動滑到最後顯示並滑下來關閉。我正在使用overridePendingTransition來使這個動畫發生。帶有overridePendingTransition的活動幻燈片動畫效果奇怪

但幻燈片有一個醜陋的影響。在屏幕截圖中可以看到: Screen shot

看看正在關閉的活動上顯示的灰色矩形。爲什麼顯示?

我認爲這將是Android的android.R.id.content視圖,所以我試圖改變它的背景,但它沒有奏效。

我使用ActionBarSherlock和代碼如下所示:

slide_in_from_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
      android:fromYDelta="100%p" 
      android:toYDelta="0%p" 
      android:duration="@android:integer/config_mediumAnimTime"/> 

slide_out_to_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
      android:fromYDelta="0%p" 
      android:toYDelta="100%p" 
      android:duration="@android:integer/config_mediumAnimTime"/> 

nothing.xml

<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="0" android:fromAlpha="1" android:toAlpha="1"/> 

啓動活動:

Intent intent = new Intent(); 
intent.setClass(getActivity(), PlayerActivity.class); 
startActivity(intent); 

getActivity().overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.nothing); 

關閉活動:

@Override 
public void onBackPressed() { 
    finish(); 
    overridePendingTransition(R.anim.nothing, R.anim.slide_out_to_bottom); 
} 
+0

喜歡這個圖片,感謝您發佈解決方案 – swiftBoy

回答

4

我找到了答案我的問題在這裏:

https://stackoverflow.com/a/6396465/1140713

我只是創建了我的所有活動,是繼承一個BaseActivity並添加在OnCreate下面的代碼:

ColorDrawable colorDrawable = new ColorDrawable(Color.TRANSPARENT); 
getWindow().setBackgroundDrawable(colorDrawable); 
3

這可能是因爲您notificationBar的。你的下一個活動也有notificationBar,並且它的空間。不知道,如果有任何工作...你可以嘗試設置FullScreen,但當然這不是你想要的。

+0

謝謝你的答案。這真的是通知欄。無論如何,我發現了另一個不需要設置全屏的解決方案:http://stackoverflow.com/a/6396465/1140713。我會很快更新這個問題。 –

+1

啊,真好,不知道。感謝您指導我:) – yahya