app直播源码,自定义两种Activity切换动画实现
app直播源码,自定义两种Activity切换动画实现
法一:指定某个Activity的切换动画
设置打开新Activity时展示的动画
在调用startActivity之后调用overridePendingTransition
1 | <br>findViewById(R.id.btn).setOnClickListener(v -> {<br> startActivity( new Intent(this, MainActivity2. class ));<br> // 下一个activity的进入动画,当前activity的退出动画<br>overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);<br>}); |
设置关闭当前Activity时展示的动画
在调用finish()的之super.finish();后调用overridePendingTransition
1 | <br>@Override<br> public void finish() {<br> super.finish();<br> // 下一个的进入,自己的退出<br> overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);<br>} |
TIPS:自定义动画会覆盖全局动画
法二:定义全局动画
在res/values/styles.xml文件中新建style:
1 | <br><style name= "CustomActivityAnimation" parent= "android:Animation.Activity" ><br> <item name= "android:activityOpenEnterAnimation" >@anim/slide_in_right</item><br> <item name= "android:activityOpenExitAnimation" >@anim/slide_out_left</item><br> <item name= "android:activityCloseEnterAnimation" >@anim/slide_in_left</item><br> <item name= "android:activityCloseExitAnimation" >@anim/slide_out_right</item><br></style> |
在应用的 Theme(主题) 中应用上面新建的CustomActivityAnimation:
1 | <br><style name= "AppTheme" parent= "Theme.AppCompat.Light.DarkActionBar" ><br> <!--其他省略...--><br> <item name= "android:windowAnimationStyle" >@style/CustomActivityAnimation</item><br></style> |
动画文件
在res/anim文件夹下面新建动画文件:
slide_in_right.xml
1 | <?xml version= "1.0" encoding= "utf-8" ?><br><set xmlns:android= "http://schemas.android.com/apk/res/android" ><br> <translate<br> android:duration= "@android:integer/config_mediumAnimTime" <br> android:fromXDelta= "100%p" <br> android:toXDelta= "0" /><br></set> |
slide_out_left.xml
1 | <br><?xml version= "1.0" encoding= "utf-8" ?><br><set xmlns:android= "http://schemas.android.com/apk/res/android" ><br> <translate<br> android:duration= "@android:integer/config_mediumAnimTime" <br> android:fromXDelta= "0" <br> android:toXDelta= "-100%p" /><br></set> |
slide_in_left.xml
1 | <br><?xml version= "1.0" encoding= "utf-8" ?><br><set xmlns:android= "http://schemas.android.com/apk/res/android" ><br> <translate<br> android:duration= "@android:integer/config_mediumAnimTime" <br> android:fromXDelta= "-100%p" <br> android:toXDelta= "0" /><br></set> |
slide_out_right.xml
1 | <br><?xml version= "1.0" encoding= "utf-8" ?><br><set xmlns:android= "http://schemas.android.com/apk/res/android" ><br> <translate<br> android:duration= "@android:integer/config_mediumAnimTime" <br> android:fromXDelta= "0" <br> android:toXDelta= "100%p" /><br></set> |
以上就是 app直播源码,自定义两种Activity切换动画实现,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现