Android的Activity屏幕左右切换动画
2016-02-26 20:23
344 查看
在Android开发过程中,有时候会要求Activity之间切换能够有动画效果。这时候我们一般在StartActivity(intent)之后使用overridePendingTransition (int
enterAnim, int exitAnim)。
第一个参数enterAnim表示新Activity进入时的动画。
第二个参数exitAnim表示原先旧的Activity退出时的动画。
![](http://img.blog.csdn.net/20160226202308705?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
如图所示,为手机页面位置示意图。
从位置2到位置1代码:
从位置3到位置2代码:
Android代码如下:
当然,这只是进入新Activity时的动画效果,采取的是从右进入。
如果在按返回键的时候也要有动画效果,可以在OnBackPressed()方法中调用overridePendingTransition(int
one,int second);采取的动画效果可以是从左边出来。即上图位置1到位置2,位置2到位置3。
enterAnim, int exitAnim)。
第一个参数enterAnim表示新Activity进入时的动画。
第二个参数exitAnim表示原先旧的Activity退出时的动画。
如图所示,为手机页面位置示意图。
从位置2到位置1代码:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" <span style="font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun; font-size: 0.9em;">android:interpolator="@android:anim/accelerate_interpolator"></span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;"><translate android:fromXDelta="0%p" android:toXDelta="-100%p"</span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;"> android:duration="500" /></span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;"></set></span>
从位置3到位置2代码:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android :anim/accelerate_interpolator"><translate android:fromXDelta="100%p" android:toXDelta="0%p"android:duration="500" /></set>
Android代码如下:
public class FirstActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(<span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;">FirstActivity </span><span style="font-size: 0.9em; font-family: 'Microsoft YaHei', Verdana, sans-serif, SimSun;">.this, SecondActivity.class);</span> startActivity(intent); //设置切换动画,从右边进入,左边退出 overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left); } }); } }
当然,这只是进入新Activity时的动画效果,采取的是从右进入。
如果在按返回键的时候也要有动画效果,可以在OnBackPressed()方法中调用overridePendingTransition(int
one,int second);采取的动画效果可以是从左边出来。即上图位置1到位置2,位置2到位置3。
相关文章推荐
- 最简单也最难——怎样获取到Android控件的高度
- Android获取屏幕宽度与长度的三个…
- 如何用android&nbsp;sharedprefere…
- Android应用程序中,activity的管…
- Android逆向笔记(2)--- 破解第一个程序
- android工程中资源模块划分
- 【Android】启动时跳过欢迎界面的时机
- 【Android】进入应用和切换界面时闪屏的问题
- 【Android】使用技巧 —— 快速进入某一界面
- Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路
- GridView常用属性
- Android:ScrollView和SwipeRefreshLayout高度测量
- Android APK如何签名
- Android Screen Monitor同步手机屏幕到PC
- Android自定义带下划线的TextView
- [Android]开源中国源码分析之一---启动界面
- Android源码 模块编译
- VLC-Android Intro - MODULE LIST
- Android中数据库的操作流程详解
- Android,水波进度条