android Lollipop(5.0)--activity跳转动画
来源:互联网 发布:哪个租房软件最靠谱 编辑:程序博客网 时间:2024/05/29 02:12
android Lollipop(5.0)对app中有共享view的activity直接的跳转提供了更好的动画交互。
实现步骤:
1,编写需要的transform。
2,给activity设置样式style。
3,标记2个activity共有的view。
4,使用ActivityOptions添加共有view。
5,在返回的时候调用finishAfterTransition(),而不是finish()。
1,编写需要的transform。
change_image_transform.xml
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android" > <explode /> <changeTransform /> <changeClipBounds /> <changeBounds /> <changeImageTransform /></transitionSet>fade.xml
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 从边缘出入 --> <!-- <slide /> --> <!-- 从中心出入 --> <!-- <explode /> --> <!-- 淡入淡出 --> <fade /></transitionSet>
2,给activity设置样式style。
<style name="AppBaseTheme" parent="android:Theme.Material.Light"> <!-- 允许使用transitions --> <item name="android:windowContentTransitions">true</item> <!-- specify enter and exit transitions --> <item name="android:windowEnterTransition">@transition/fade</item> <item name="android:windowExitTransition">@transition/fade</item> <!-- specify shared element transitions --> <item name="android:windowSharedElementEnterTransition">@transition/change_image_transform</item> <item name="android:windowSharedElementExitTransition">@transition/change_image_transform</item> </style>
3,标记2个activity共有的view。
使用transitionName来标记共有view(目标activity的xml也需要)
<ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/bg" android:transitionName="image" /> <TextView android:id="@+id/tv_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/darker_gray" android:elevation="5dp" android:text="@string/hello_world" android:transitionName="text" />
getWindow().setExitTransition(new Explode());Intent intent = new Intent(this, BActivity.class);// 一个共有元素// ActivityOptions options =// ActivityOptions.makeSceneTransitionAnimation(// this, mViewImage, "image"); //多个共有元素Pair[] pairs = new Pair[2];pairs[0] = Pair.create(mViewContent, "text");pairs[1] = Pair.create(mViewImage, "image");ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this, pairs);startActivity(intent, options.toBundle());
demo下载
0 0
- android Lollipop(5.0)--activity跳转动画
- Android Activity跳转动画
- Android--Activity之间跳转动画
- Android Activity页面跳转动画
- Android Activity间动画跳转
- android中的activity跳转动画
- Android Activity的跳转动画
- android动画效果 --- 设置activity 跳转动画
- Android 5.0 Lollipop中新的Activity过渡效果介绍
- Android 5.0 Lollipop中新的Activity过渡效果介绍
- Android(Lollipop/5.0) Material Design(七) 自定义动画
- Android(Lollipop/5.0) Material Design(六) 自定义动画
- Android(Lollipop/5.0) Material Design(六) 自定义动画
- Android(Lollipop/5.0) Material Design(七) 自定义动画
- Android(Lollipop/5.0) Material Design(七) 自定义动画
- Android中Activity跳转/切换动画
- android中的所有activity间动画跳转
- Android中Activity跳转/切换动画
- WebService /php soap 相关调用 收藏
- 在Javascript 中创建JSON对象--例程分析
- Oracle与MySQL的几点区别
- Service优先级提高
- 最近的一点想法
- android Lollipop(5.0)--activity跳转动画
- [LeetCode]139.Word Break
- Html中CSS之去除li前面的小黑点,和ul、LI部分属性方法
- 排序查找算法实战---Median of Two Sorted Arrays
- Linux 下修改Tomcat使用的JVM内存大小
- 前端必读:浏览器内部工作原理
- ORA-01031: 权限不足
- Notepad++
- Linux网络编程——广播