android Activity切換動畫效果

jopen 10年前發布 | 36K 次閱讀 Android Android開發 移動開發

  為Activity設置左右進出的效果,可以通過在Mainfest.xml文件中設置主題的方式來實現。還可以使用java代碼。

一、設置樣式

先看看實現動畫的樣式:

</div> </div>

    <style name="AnimationRToL" mce_bogus="1" parent="@<span style="color:#ff0000;">android:style/Animation.Activity</span>">  
            <item name="android:activityOpenEnterAnimation">@anim/in_from_right</item>  
            <item name="android:activityOpenExitAnimation">@anim/out_to_left</item>  
            <item name="android:activityCloseEnterAnimation">@anim/in_from_left</item>  
            <item name="android:activityCloseExitAnimation">@anim/out_to_right</item>  
        </style>  

在另一個樣式中引用該動畫樣式的樣式:

</div> </div>

    <style name="ThemeRToL" mce_bogus="1" parent="@android:style/Theme.NoTitleBar">  
           <item <span style="color:#ff0000;">name="android:windowAnimationStyle</span>">@style/AnimationRToL</item>  
           <item name="android:windowNoTitle">true</item>  
       </style>  

activity的配置:

    <activity  
                android:name="com.diiji.police.CPActivity"  
                android:screenOrientation="portrait"  
                android<span style="color:#ff0000;">:theme</span>="@style/ThemeRToL" >  
            </activity>  
</div> </div> 缺陷:如果需要activity1跳轉到activity2,activity2跳轉到activity3,那么我想在activity3返回的時候,直接跳轉到activity1。也就是在activity2跳轉到activity3時,activity2要finish掉,那么這時候就會出現黑屏的現象。因為finishi的activity也有退出的動畫效果。

要解決這個問題,我使用一個單例模式的activity管理類,在activity3調用onDestory()時,指定finish  activity2。當然,也可以試試,Intent.FLAG_CLEAR_TOP這種方式。

 

 

二、overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

1 它必需緊挨著startActivity()或者finish()函數之后調用
2.它只在android2.0以及以上版本上適用

3.finish的activity不會有動畫

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!