安卓中一些界面过场动画的实现
来源:互联网 发布:高级java招聘 编辑:程序博客网 时间:2024/05/16 06:00
一.在res的anim下写anim文件
<?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />
代码引用
Intent intent = new Intent(activity, MainActivity.class); activity.startActivity(intent); activity.overridePendingTransition(R.anim.fade_in, com.jaydenxiao.common.R.anim.fade_out);
二.安卓5.x共享元素Intent intent = new Intent(mContext, NewsDetailActivity.class); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ActivityOptions options = ActivityOptions .makeSceneTransitionAnimation((Activity) mContext,view, AppConstant.TRANSITION_ANIMATION_NEWS_PHOTOS); mContext.startActivity(intent, options.toBundle()); } else { //让新的Activity从一个小的范围扩大到全屏 ActivityOptionsCompat options = ActivityOptionsCompat .makeScaleUpAnimation(view, view.getWidth() / 2, view.getHeight() / 2, 0, 0); ActivityCompat.startActivity((Activity) mContext, intent, options.toBundle()); }
这里,参数view是外界点击跳转的组件,AppConstant.TRANSITION_ANIMATION_NEWS_PHOTOS="transition_animation_news_photos"
是需要共享的图片元素,所以对应的需要在目标界面展示效果的图片控件上加上共享元素属性<ImageView android:id="@+id/news_detail_photo_iv" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:scaleType="centerCrop" android:transitionName="transition_animation_news_photos" tools:targetApi="lollipop"/>ps:补上属性动画的一种写法
PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 0.3f, 1f); PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 0.3f, 1f); PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 0.3f, 1f); ObjectAnimator objectAnimator1 = ObjectAnimator.ofPropertyValuesHolder(tvName, alpha, scaleX, scaleY); ObjectAnimator objectAnimator2 = ObjectAnimator.ofPropertyValuesHolder(ivLogo, alpha, scaleX, scaleY); AnimatorSet animatorSet = new AnimatorSet(); animatorSet.playTogether(objectAnimator1, objectAnimator2); animatorSet.setInterpolator(new AccelerateInterpolator()); animatorSet.setDuration(2000); animatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animator) { } @Override public void onAnimationEnd(Animator animator) { MainActivity.startAction(SplashActivity.this); finish(); } @Override public void onAnimationCancel(Animator animator) { } @Override public void onAnimationRepeat(Animator animator) { } }); animatorSet.start();
0 0
- 安卓中一些界面过场动画的实现
- iOS平滑式特点的过场动画实现
- activitiy切换的过场动画
- Activity过场动画的设置
- 布局改变时的过场动画
- cordova项目多个原生界面间过场动画配置
- android 的过场页面的实现
- activity 过场动画
- iOS 自定义过场动画
- 自定义 Android 过场动画
- ios addSubView 过场动画
- ActivityOptions过场动画
- Android5.0Activity的转场动画、过渡动画、过场动画、跳转动画
- 给view添加过场动画
- 冰火围城过场动画
- iOS过场动画调研笔记
- android 过场动画如何加载
- Android笔记 Activity过场动画
- 数据结构实验之排序三:bucket sort
- java对象导论
- 前端打开文件读取文件内容
- 【OpenCV图像处理】五、图像的几何变换(下)
- 【a603】加工生产调度
- 安卓中一些界面过场动画的实现
- linux date
- 【WC2007】bzoj2597 剪刀石头布
- 虚电路子网和数据报子网的比较
- [SDOI2009]Elaxia的路线
- 【入门】openlayers3官网例子解读
- VS2013常用快捷键大全(紅色非常有用!!!)
- ios开发中网络模块开发的几种常用方法
- 【Kinect】3rd-一些资料