我已經宣佈了兩個自定義動畫,這是工作正常運行與HTC Sense 3.5(自定義ROM,Endymion V3.5的Android 2.3.5的HTC Desire s,所以我可以測試操作系統在ICS之前)。在開始一項新活動時,新屏幕從右側滑入,關閉當前活動,新屏幕從左側滑入,這樣就很好。我的代碼是:自定義活動過渡不工作Nexus4
overridePendingTransition(com.my.app.R.anim.slidein, com.my.app.R.anim.slideout);
宣佈動畫的個XML如下:
slidein.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
slideout.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-100%p"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
但是,問題來了。
相同的apk部分工作在Nexus4上。當打開新的活動時,它會正常工作,新屏幕從右側滑入。關閉當前活動時,前一個屏幕會以默認動畫顯示,忽略我的自定義動畫。我的Nexus4上有Unofficial CM 10.2, with android 4.3。
我的問題是:是否應該在android 4.3上這樣工作?也許在更新的API級別上,還有另一種方法,我需要調用才能正確使用它?任何幫助表示讚賞!
乾杯
編輯:我宣佈自退出動畫,separetely,並與建議的解決方案相結合,現在按預期工作。
closeslidein.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-100%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
closeslideout.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="100%p"
android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="1.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
和精加工proccess:
@Override
public void finish()
{
super.finish();
overridePendingTransition(com.my.app.R.anim.closeslidein, com.my.app.R.anim.closeslideout);
}
在你的建議之後,我重寫了'finish()',在'super.finish'後面加了'overridePendingTransition(com.my.app.R.anim.slidein,com.my.app.R.anim.slideout) ();',並且動畫現在顯示出來。但是,我正在獲得開啓新活動的動畫,而不是關閉當前活動。奇怪,我得看看它,謝謝。 – hundeva