今天看到自己的项目和微信瞬间感觉差距太大了,话不多说了,总之差距很大,进入主题,activity跳转动画。
现在大多程序猿都是这样跳转:
Intent it = new (Activity1.this,Activity2.class);
startActivity(it);
这样就完事了,然而都没考虑过用户体验什么的,所以现在该说跳转动画了,
跳转动画现在大多数实现的是什么呢?
都是这些overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
写个动画的XML文件,在startActivity(it);后面加上overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
ok,这个无所谓,但是是不是在每次startActviity之后都要加这句代码呢,多啰嗦啊,瞧瞧人家微信怎么玩的,
微信两个style
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowAnimationStyle">@style/activityAnimation</item>
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="activityAnimation" parent="@android:style/Animation">
<item name="android:activityOpenEnterAnimation">@anim/right_in</item>
<item name="android:activityOpenExitAnimation">@anim/left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/left_in</item>
<item name="android:activityCloseExitAnimation">@anim/right_out</item>
</style>
然后在res目录下建一个anim,都知道,这是动画文件
上面的style引用的四个动画分别对应
right_in:
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="300" android:fromXDelta="100.0%p" android:toXDelta="0.0" />
</set>
right_out:
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="100.0%p" />
</set>
left_in:
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="300" android:fromXDelta="-100.0%p" android:toXDelta="0.0" />
</set>
left_out:
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="-100.0%p" />
</set>
到了最后一步了,在清单文件配置我们的style
<application
android:name="com.example.testframe.ApplicationController"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" ></application>
以上就是做成微信那种activity平移效果的相关内容
注:如有错误请回复,感激不尽,转载注明出处