Xamarin.android Activity动画切换效果实现

http://blog.csdn.net/esunshine1985/article/details/44302903

 

1.在Resources——values下新建styles.xml,添加内容如下:

  1. <resources xmlns:android="http://schemas.android.com/apk/res/android">  
  2.     <style name="AppTheme" parent="@android:style/Theme">       
  3.         <item name="android:windowNoTitle">true</item<!-- 设置没有标题 -->  
  4.         <item name="android:textSize">20sp</item>   <!-- 设置文本大小 -->  
  5.           <item name="android:textColor">#F34141</item>  
  6.         <item name="android:background">@android:color/background_light</item>  
  7.         <!-- 设置activity切换动画 -->  
  8.         <item name="android:windowAnimationStyle">@style/activityAnimation</item>  
  9.     </style>  
  10.     <!-- animation 样式 -->  
  11.     <style name="activityAnimation" parent="@android:style/Animation">  
  12.         <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>  
  13.       <item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>  
  14.         <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>  
  15.         <item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>  
  16.     </style>  
  17. </resources>  

2.在Resources下新建文件夹anim,在这个新建的文件夹下面新建四个文件,分别是

(1)slide_left_in.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.   <translate android:duration="300" android:fromXDelta="-100.0%p" android:toXDelta="0.0" />  
  5. </set>  

(2)slide_left_out.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.   <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="-100.0%p" />  
  5. </set>  

(3)slide_right_in.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.   <translate android:duration="300" android:fromXDelta="100.0%p" android:toXDelta="0.0" />  
  5. </set>  

(4)slide_right_out.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.   <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="100.0%p" />  
  5. </set>  

3.修改AndroidManifest.xml文件(红色标注的部分)

<application android:theme="@style/AppTheme"></application>
4.在MainActivity.cs中的切换按钮的代码:

  1. button.Click += delegate  
  2. {  
  3.     Intent intent = new Intent();  
  4.     intent.SetClass(this, typeof(Activity2));  
  5.     StartActivity(intent);  
  6.     OverridePendingTransition(Resource.Animation.slide_left_in, Resource.Animation.slide_right_out);  
  7. };  

 

posted @ 2017-12-18 15:51  LuoCore  阅读(1193)  评论(0编辑  收藏  举报