在没有重新加载活动/布局之前启动活动
Posted
技术标签:
【中文标题】在没有重新加载活动/布局之前启动活动【英文标题】:Start an activity without re-load activity / layout before 【发布时间】:2019-09-11 12:19:48 【问题描述】:我想在你按下一个条目时开始一个新的活动。
当前 Activity 是一个 ListView,其中包含在滚动时自动加载的项目(无限滚动)。
只要点击一个条目,就会打开一个新的活动(或布局?)(在导航中带有后退按钮)。
https://developer.android.com/design/material/videos/ContactsAnim.mp4
正如这个来自 Android 的视频中一样,只要您再次点击返回,活动就不会重新加载。滚动位置已保存 + 所有图像/条目都相同
最好的方法是什么?
【问题讨论】:
【参考方案1】:您正在寻找的是共享元素过渡
它适用于 Android 5.x 及更高版本
有关更多详细信息和示例,请参阅 this、this 或 this 链接。
【讨论】:
【参考方案2】:在你的应用程序中使用这种类型的动画:-
来自第一个活动:-
Intent intent = new Intent(context, ImageViewActivity.class);
Pair[] pairs = new Pair[1];
pairs[0] = new Pair<View, String>(imageView, "fullImage");
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation((Activity) context, pairs);
intent.putExtra("fullImage", imageUrl);
startActivity(intent, options.toBundle());
在第二个活动中,您必须在 xml 文件中设置 transitionName:-
android:transitionName="fullImage"
【讨论】:
以上是关于在没有重新加载活动/布局之前启动活动的主要内容,如果未能解决你的问题,请参考以下文章