【Android】Activity之间的动画切换
2012-11-26 15:38
555 查看
不多说,直接上代码,第一个Activity:
第二个Activity:
两个界面分别如下:
四个动画文件,位于(res/anim)下面:
1)push_left_in.xml:
2)push_left_out.xml:
3)push_right_in.xml:
4)push_right_out.xml:
注:调用通过以下一行代码实现:
package com.example.activityanimation; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.button1); button.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(MainActivity.this, TestActivity.class); MainActivity.this.finish(); startActivity(intent); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
第二个Activity:
package com.example.activityanimation; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class TestActivity extends Activity { Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); button = (Button)findViewById(R.id.button2); button.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(TestActivity.this, MainActivity.class); TestActivity.this.finish(); startActivity(intent); overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_test, menu); return true; } }
两个界面分别如下:
四个动画文件,位于(res/anim)下面:
1)push_left_in.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="1000" /> <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="1000" /> <scale android:fromXScale="2.0" android:toXScale="1.0" android:fromYScale="2.0" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:duration="1000" /> </set>
2)push_left_out.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="1000" /> <alpha android:fromAlpha="1.0" android:toAlpha="0.1" android:duration="1000" /> <scale android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0" android:toYScale="2.0" android:pivotX="50%p" android:pivotY="50%p" android:duration="1000" /> </set>
3)push_right_in.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="1000" /> <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="1000" /> <scale android:fromXScale="2.0" android:toXScale="1.0" android:fromYScale="2.0" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:duration="1000" /> </set>
4)push_right_out.xml:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="1000" /> <alpha android:fromAlpha="1.0" android:toAlpha="0.1" android:duration="1000" /> <scale android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0" android:toYScale="2.0" android:pivotX="50%p" android:pivotY="50%p" android:duration="1000" /> </set>
注:调用通过以下一行代码实现:
overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
相关文章推荐
- android动画-Activity之间切换动画
- Android:Activity之间切换时动画无效
- Android 关于 Activity 之间的切换动画
- android的 activity之间切换去除动画之原始activity不调用finish
- Android 关于 Activity 之间的切换动画
- Android—Activity之间的切换动画——overridePendingTransition(0, 0);
- Android 利用Theme自定义Activity之间的切换动画
- Android_实现activity之间切换的动画效果(overridePendingTransition)
- Android中Activity之间切换动画的修改
- <Android> 在Activity之间进行滑动效果的切换Anim动画
- Android 关于 Activity 之间的切换动画
- android中2个activity之间的切换动画效果(共12种)
- 【Android进阶】Android中的动画详解系列 Activity之间切换动画 完美方案
- Android中的动画详解系列【4】——Activity之间切换动画
- Android 关于 Activity 之间的切换动画
- Android中Activity页面之间动画切换之淡入淡出
- Android中的动画具体解释系列【4】——Activity之间切换动画
- Android中的动画具体解释系列【4】——Activity之间切换动画
- Android中的动画详解系列【4】——Activity之间切换动画
- Android 关于 Activity 之间的切换动画