1.首先在项目的res 目录下创建anim目录,并创建四个动画类
(1).slide_left_in
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromXDelta="100%p" android:toXDelta="0" /> </set>
(2).slide_left_out
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromXDelta="0" android:toXDelta="-100%p" /> </set>
(3).slide_right_in
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromXDelta="-100%p" android:toXDelta="0" /> </set>
(4).slide_right_out
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromXDelta="0" android:toXDelta="100%p" /> </set>
2.创建一个所有Activity的基础类
package com.ruidde.csndresourcedemo; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.inputmethod.InputMethodManager; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 所有类的基础类 */ public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } /** * 页面跳转去下个页面且不finish当前页面 startAnim */ public void startActivityForAnim(Intent intent) { // TODO Auto-generated method stub super.startActivity(intent); overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out); } /** * finish当前页面 finishAnim */ public void finishForAnim(){ super.finish(); overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out); } /** * 页面跳转并关闭当前页面 使用startAnim */ public void finishActivityForAnim(Intent intent){ super.startActivity(intent); super.finish(); overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out); } /** * 页面跳转并关闭当前页面 使用startAnim */ public void startActivityForFinish(Intent intent){ super.startActivity(intent); super.finish(); overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out); } /** *强制隐藏输入法键盘 */ public void hideInput(Context context, View view){ InputMethodManager inputMethodManager = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(),0); } public boolean isMobileNO(String mobiles) { Pattern p = Pattern .compile("^((13[0-9])|(14[5,7,9])|(15[^4,\\D])|(17[0,3,5-8])|(18[0-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); return m.matches(); } }
3.创建的Activity继承基础类 BaseActivity
页面跳转下一个个时,调用:startActivityForAnim(intent);
例如:
Intent intent = new Intent(context ,TwoActivity.class); startActivityForAnim(intent );
或者跳转的第二个页面需要finish掉返回到上一个页面,可以调用:finishForAnim();
通过上述方法可以实现页面间跳转的动画效果!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119220.html