博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
切换默认Activity和Fragment的动画
阅读量:6323 次
发布时间:2019-06-22

本文共 2165 字,大约阅读时间需要 7 分钟。

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();

//设置进入退出动画
// transaction.setCustomAnimations(R.anim.fragment_enter,R.anim.fragment_out); // A(fragment)-->B(fragment) enter是B的动画,out是A的动画

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

enter_from_right.xml

enter_from_right.xml

exit_to_right.xml

转载于:https://www.cnblogs.com/need88/p/4852216.html

你可能感兴趣的文章
IO流详解
查看>>
前端常见问题整理
查看>>
Android进程保活招数概览
查看>>
iOS拨打电话对话框问题解决
查看>>
Material过渡+Glide显示问题踩坑
查看>>
新浪微博API生成短链接
查看>>
c++ ignore
查看>>
如何解读决策树和随机森林的内部工作机制?
查看>>
别的设计师都下班撸串去了,你却还在右击另存为?
查看>>
使用Selenium+POI实现Excel自动化批量查单词
查看>>
0510 - 不贴标签,勿论长短
查看>>
java 源码分析 ---Byte
查看>>
PHP实现get/post请求中的注意点
查看>>
go开发属于自己的日志库-文件日志库实现
查看>>
Spring+SpringMVC+Mybatis框架整合步骤
查看>>
JavaScript中的for in循环
查看>>
[译] 系统设计入门 | 掘金翻译计划
查看>>
阿里P7大牛细说架构——设计模式专栏
查看>>
手把手教你在本地构建 Nervos AppChain 全家桶
查看>>
聊聊对称/非对称加密在HTTPS中的应用
查看>>