android仿微信的activity平滑水平切换动画

      看到网上好多播客中都说用  overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);的确可以,

不过要在startActivity后和finish()前,而且每个activity都要这样写方法;

      看到微信中的效果不错,于是使用apktool反编译,查看资源文件,发现一个“牛”字了得,微信中用了大量的xml资源文件;

界面很简单,没法上传整个演示过程,先贴一张:其他界面也差不多,主要是为了演示点击进入下一个activity和返回的跳转效果:

1.首先在manifest.xml中定义application节点的主题

  <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

2.AppTheme是在styles中定义的

  <style name="AppTheme" parent="@android:style/Theme">    
        <item name="android:windowNoTitle">true</item> <!-- 设置没有标题 -->
        <item name="android:textSize">20sp</item>   <!-- 设置文本大小 -->
          <item name="android:textColor">#F34141</item>
        <item name="android:background">@android:color/background_light</item>
    
    <!-- 设置activity切换动画 --> 
        <item name="android:windowAnimationStyle">@style/activityAnimation</item>
    </style>

    <!-- animation 样式 -->
    <style name="activityAnimation" parent="@android:style/Animation">
        <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>

 <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>
<item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
</style>

3.ok了,整个demo就是这样的流程;
/Files/Jaylong/activityAnimationDemo.zip

posted @ 2012-08-30 14:24  流星剑  阅读(26818)  评论(3编辑  收藏  举报