android过渡动画

示例

从左往右渐入渐出

实现

一 在style文件中新建动画样式

XML 复制代码
    <!-- 定义动画样式 -->
    <style name="FullScreenDialogAnimation">
        <!-- 打开时动画 -->
        <item name="android:windowEnterAnimation">@anim/slide_in_right</item>
        <!-- 关闭时动画 -->
        <item name="android:windowExitAnimation">@anim/slide_out_left</item>
    </style>
XML 复制代码
<!-- slide_out_left.xml -->
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="0"
        android:toXDelta="100%p"
        android:duration="300" />
</set>
XML 复制代码
<!-- slide_in_right.xml -->
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="100%p"
        android:toXDelta="0"
        android:duration="300" />
</set>

二 在需要使用的地方调用这个style即可

java 复制代码
Dialog dialog = new Dialog(this, android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.dialog_fullscreen);

// 设置进入动画
dialog.getWindow().setWindowAnimations(R.style.FullScreenDialogAnimation);

// 显示Dialog
dialog.show();
相关推荐
人工智能训练10 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
微露清风11 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
阳光九叶草LXGZXJ11 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
小二李13 小时前
第11章 nestjs服务端开发:登录鉴权
运维·服务器
2601_9498333913 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
i建模14 小时前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器
chatexcel14 小时前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
kida_yuan15 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
2603_9494621016 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
何中应17 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器