intent跳转和转场动画
自测在activity1里的fragment1跳转到activity2,然后再从activity2跳转到fragment1
在fragment1的按钮事件进行跳转
Intent intent=new Intent(getActivity(), MainActivity2.class);
startActivity(intent);
getActivity().overridePendingTransition(R.anim.slide_in_from_right, R.anim.slide_out_to_left);
overridePendingTransition用于转场动画,里面有两个xml文件,第一个表示activity2从右侧滑入,第二个表示activity1从左侧滑出
在activity2里按钮事件进行跳转
Intent intent=new Intent(MainActivity2.this, MainActivity1.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("frag", 1);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_from_left, R.anim.slide_out_to_right);
addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP)用于在activity1中能够处理onNewIntent事件,原理见activity的启动模式(百度)
overridePendingTransition用于转场动画,里面有两个xml文件,第一个表示activity1从左侧滑入,第二个表示activity2从右侧滑出
在activity1的onNewIntent事件接受传递的数据
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
intent.getIntExtra("frag", 0);
}
另外,对手机自带的返回键进行事件重写,在activity2中
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.slide_in_from_left, R.anim.slide_out_to_right);
}
动画文件在res/anim目录中
slide_in_from_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%"
android:toXDelta="0"
android:duration="300">
</translate>
</set>
slide_out_to_left.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%"
android:duration="300">
</translate>
</set>
slide_in_from_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%"
android:toXDelta="0"
android:duration="300">
</translate>
</set>
slide_out_to_right.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%"
android:duration="300">
</translate>
</set>
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgieeei
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13