transitionandroid
㈠ Android Transition
Android Transition Framwork 主要用来做 三件事 :
而你需要做的,首先对Activity的ThemeStyle添加 windowContentTransitions 属性:
用 startActivity(mIntent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle()); 来替换之前的startActivity();
让我们来分析以下具体发生了什么:
3.使用 ActivityOptions.makeSceneTransitionAnimation() 来定义共享的view和transitionName
如果两个不同界面有多个元素需要共享的话,使用Pair来包装
这里我们实现了在RevealActivity中两个View的更换,点击右下角切换按钮,水波纹开始散开,第一个View逐渐消失,第二个View逐渐出现。
createCircularReveal的各参数代表的具体含义 参照这里 。
https://github.com/Trisaa/MaterialTranstion
https://github.com/lgvalle/Material-Animations
https://github.com/hehonghui/android-tech-frontier/tree/master/others/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BAAndroid%20%E6%96%B0%E7%89%B9%E6%80%A7-Transition-Part-1
折叠翻页效果
Fragment Transition
SwitchLayout
㈡ android 跳转动画overridePendingTransition(R.anim.h_scale_in,R.anim.h_scale_out);没执行
Intent intent = new Intent();
intent.setClass(SuggestHelp.this, BaoXianExplain.class);
// startActivity(intent);
startActivityForResult(intent, 11);
int version = Integer.valueOf(android.os.Build.VERSION.SDK);
if(version >= 5) {
//系统自带的效果
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out); }
㈢ android transitionname是什么意思
android transitionname是Android过渡的名字的意思
㈣ 如何设定Android Activity间切换时的动画
可以通过以下几个步骤完成:
1、定义清单文件(AndroidManifest.xml)
2、定义字符串资源(res/values/strings.xml)
3、定义渐入动画资源定义(res/anim/fade.xml、res/anim/hold.xml)
4、定义缩放动画资源定义(res/anim/zoom_enter.xml、res/anim/zoom_exit.xml)
5、定义布局Activity布局资源(res/layout/activity_animation.xml、res/layout/controls_1.xml)
6、创建Activity窗口(Animation.java、Controls1.java)
㈤ 关于android切换Activity效果的,overridePendingTransition(enterAnim, exitAnim);
不行,android只有4中动画效果,你自定义的animation类也是这4中动画效果,所以也没必要自定义一个animation类。 不过有可能你在自定义类中交叉使用4种动画效果,这个也可以在xml中实现的
㈥ Android 共享元素效果
Transition 框架是 Android 4.4 KitKat 中加入的,但在 5.0 才开始被人应用起来,
而且这一部分也涉及了 22.0 的 API,虽然有对应的 support.v4 包,但也还是有点问题。
所以这一部分可以说是 5.0 以上适用的方法。
效果(录制出来的效果有点卡顿):
这里遇到一点小问题,即上述 Activity 引用的 style 中不仅设置了 android:windowIsTranslucent ,也设置了 android:windowIsTranslucent : 让 Activity 的背景为透明,在我测试的时候发现使用共享元素的时候出现了返回时闪屏的现象,解决方法是设置 Activity 背景颜色为透明。
在 onCreate 中:
或者在上述的 style 中的 theme 添加:
在打开的 Activity 的 xml 中
对应的 ImageView 中的 android:transitionName 属性值必须相同,而对两个控件的大小、id 等属性并无要求。
在 makeSceneTransitionAnimation 传入的参数中,mImgView 是第一个界面中 ImageView 的实例,第三个参数对应 xml 中的 android:transitionName 的值。
因为打开新的 Activity 的时候,可能要去加载新的图片,这时候我们需要 延迟过渡动画的开始 ,直到图片加载完成之后再开始动画。否则会出现各种 bug。
所以要在第二个 Activity 中的 onCreate() 中阻止动画的执行:
然后在图片加载完成后开始动画:
当然,启动动画不一定要等待图片加载完成再进行,因为还存在着图片加载失败、加载时间过长等问题,这里只是提出一种方法,实际还是自己看情况决定。
以上只是简单的实现了一种效果,关于 Transition 的使用、共享元素在
Fragment 中的使用、多个共享元素的使用等,在这里暂时不打算细讲,可以参考:
使用 Transition FrameWork 实现有意义的转场动画(译)
(译)Android 5.0 页面共享元素过渡
定义定制动画
原理大概就是如此,实现动画的方法有很多种。
可以参考:
Activity 共享元素转场动画实践
Android共享元素转场动画兼容实践
㈦ android 两个activity之间怎么进行带动画的翻转切换
//实现淡入浅出的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
// 由左向右滑入的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
你可以去网络下这个方法overridePendingTransition。
㈧ android overridependingtransition 动画可以代码编写吗
没看懂你说的设置按钮位置是什么意思。。。给你一段按钮点击事件代码,希望对你有帮助! private Button header_btn_back; this.header_btn_back=(Button)findViewById(R.id...); this.header_btn_back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(OrderDetailActivity.this,CaptureActivity.class); OrderDetailActivity.this.startActivity(intent); overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right); } });
㈨ Android转场动画一说
所谓转场动画,通俗的讲就是一个Activity跳转到另一个Activity是的动画。
Activity的转场动画很早就有了,5.0之前用的是overridePendingTransition()这个方法。在5.0之后,Google使用Material Design设计风格,进而有了的新的转场转场动画的诞生,效果还是挺炫酷的,下面我们先看下效果。
其实这里主要是靠overridePendingTransition(int enterAnim, int exitAnim)来加载动画,顾名思义第一个参数是进场动画,第二个是出场动画。
这几个效果是可以交互使用,比如进场用Fade效果,出场用SLide效果。也可以使用自定义的效果,这里不细说。当然5.0后了类似共享元素这类的效果那就另当别论了
说到这里不得不说Google在5.0MD设计中给我提供全新的过度动画ActivityOptions,以及兼容包ActivityOptionsCompat.下面来说一说它提供几种过度效果的方法