切换默认Activity和Fragment的动画
2015-10-03 15:12
405 查看
Activity中
public void click(View view){ Intent intent = new Intent(); intent.setClass(this, TwoActivity.class); startActivity(intent); overridePendingTransition(R.anim.enter, R.anim.exit); //第一个参数为第一个Activity离开时的动画,第二参数为所进入的Activity的动画效果,这个方法必须在 startActivity()之后 }
public void click(View view){ Intent intent = new Intent(); intent.setClass(this, TwoActivity.class); startActivity(intent); overridePendingTransition(R.anim.enter, R.anim.exit);//R.anim.exit //第一个参数是进入第2个Activity(即第二个Activity)的动画,第二个参数是第一个Activity离开时候的动画(即第一个Activity的动画) //发现网上很多都是乱说,甚至不对,专门根据 旋转测试一下效果,发现这两个动画是同时执行的,且我们知道新启动的Activity是在最上面的,动画也是在最上面 //overridePendingTransition(0, R.anim.exit);//测试此句发现 没有任何动画效果,(其实有,只是我们看不到) ,0表示无动画,这段代码 this.finish()是可以看到的,注意动画 只显示 栈顶那个Activity }
如果上面两个参数没有动画要设置,则用0作为参数。
Fragment中
private void addFragment() { if (null == mFragmentManager) { mFragmentManager = getSupportFragmentManager(); } mTextFragmentOne = new MyFragmentOne(); FragmentTransaction fragmentTransaction = mFragmentManager .beginTransaction(); fragmentTransaction.setCustomAnimations( R.anim.push_left_in, R.anim.push_left_out, R.anim.push_left_in, R.anim.push_left_out); fragmentTransaction.add(R.id.container, mTextFragmentOne); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); }
例子:
4个 Fragment 慢慢滑动的效果
FragmentTransaction ft = getFragmentManager().beginTransaction();
//设置进入退出动画
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
DetailsFragment newFragment = DetailsFragment.newInstance();
ft.replace(R.id.details_fragment_container, newFragment, “detailFragment”);
// Start the animated transition.
ft.commit();
下面是anim目录下的动画
enter_from_left.xml
<translate android:fromXDelta="-100%" android:toXDelta="0%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"/>
enter_from_right.xml
<translate android:fromXDelta="100%" android:toXDelta="0%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700" />
enter_from_right.xml
<translate android:fromXDelta="0%" android:toXDelta="-100%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"/>
exit_to_right.xml
<translate android:fromXDelta="0%" android:toXDelta="100%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700" />
相关文章推荐
- Gifski:一个跨平台的高质量 GIF 编码器
- 模仿动画的放大缩小容器
- jQuery实现美观的多级动画效果菜单代码
- php判断GIF图片是否为动画的方法
- jQuery实现动画效果circle实例
- 浅析JavaScript动画
- js排序动画模拟-插入排序
- javascript+HTML5的Canvas实现Lab单车动画效果
- js实现按钮颜色渐变动画效果
- jQuery实现带有洗牌效果的动画分页实例
- jquery实现先淡出再折叠收起的动画效果
- jQuery使用animate创建动画用法实例
- jquery带动画效果幻灯片特效代码
- jQuery实现带动画效果的多级下拉菜单代码
- jQuery动画特效实例教程
- JQuery动画和停止动画实例代码
- 基于jquery css3实现点击动画弹出表单源码特效
- JQuery动画与特效实例分析
- Jquery 自定义动画概述及示例
- 基于jquery的动画效果代码