2013-02-15 87 views
0

這應該是一個非常簡單的問題,我無法通過谷歌或我的生活中的文檔找到。如何更改我的活動的過渡風格?Android中的導航風格

從我聽到的情況來看,對於呈現和解散活動來說,存在增長,左/右和上/下轉換,但我不知道如何實現它們。

回答

2

當你正在做的:

startActivity(intent); 

只是把:

startActivity(intent); 
overridePendingTransition(animIn, animOut); 

animIn和animOut是,你可以在動畫資源文件夾中只定義例如整型:

slideInLeft.xml :

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

個slideOutLeft.xml:

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

而當你想回到你需要做同樣的活動,但在完成方法的第一個活動:

finish(); 
overridePendingTransition(animIn, animOut); 
+0

所以,你確實需要做整個'overridePendingTransition'?我確實在這篇文章中看到了:http://stackoverflow.com/questions/3389501/activity-transition-in-android – RileyE 2013-02-15 16:39:19

+0

是的,即時通訊以這種方式進行並且效果很好:) – PaNaVTEC 2013-02-15 16:40:28

+0

如果您始終想要使用覆蓋,我覺得重寫startActivity可以調用super.startActivity然後overridePendingTransition。完成一樣。它可以防止你忘記某個地方。 – 2013-02-15 16:41:24

1

您可以使用activity.overridePendingTransition。它需要一個進入和退出動畫資源ID。

+0

Eesh。這是殘酷的,你必須設計自己的,而不是內置動畫。 – RileyE 2013-02-15 16:39:52