OpeningStartAnimation - Android开屏动画view

本文介绍了一个名为FancyView的Android库,用于创建开屏动画。项目提供了默认图1效果,可通过Builder.setDrawStategy()切换RedYellowBlueDrawStrategy、LineDrawStrategy和RotationDrawStrategy等动画,同时支持自定义动画接口。此外,还能设置图标、应用名和描述。如觉得有用,可以在GitHub上给予star支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### Android 开屏动画实现 在 Android 应用中实现开屏动画(Splash Screen Animation),可以通过 `SplashScreen` API 来完成。以下是详细的说明: #### 使用 Splash Screen API 实现自定义动画Android 12 开始,Google 提供了一个新的 SplashScreen API,用于简化开屏页面的设计和开发过程。通过该 API 可以轻松设置启动画面以及控制其退出动画- 配置主题文件中的样式属性来指定启动屏幕的主题[^3]。 ```xml <style name="Theme.App.Starting" parent="Theme.SplashScreen"> <!-- 设置启动图标 --> <item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item> <!-- 启动图标的背景颜色 --> <item name="android:background">@color/white</item> <!-- 移除状态栏透明效果 (可选) --> <item name="postSplashScreenTheme">@style/AppTheme</item> </style> ``` - 初始化 `SplashScreen` 并监听退出动画事件[^4]。 ```kotlin override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // 安装并配置启动屏幕 val splashScreen = installSplashScreen() setContentView(R.layout.activity_main) // 控制启动屏幕的可见条件 splashScreen.setKeepVisibleCondition { mainViewModel.isLoading } // 自定义退出动画逻辑 splashScreen.setOnExitAnimationListener { splashScreenView -> val duration = splashScreenView.iconAnimationDurationMillis val startTime = splashScreenView.iconAnimationStartMillis // 创建一个平滑过渡动画 splashScreenView.view.animate() .translationY(-splashScreenView.height.toFloat()) .setDuration(duration) .setInterpolator(AnticipateOvershootInterpolator()) .withEndAction { splashScreenView.remove() } } } ``` 上述代码实现了以下功能: - 调用了 `installSplashScreen()` 方法安装默认的启动屏幕。 - 使用 `setOnExitAnimationListener` 添加了自定义退出动画,在此例子中让启动画面沿 Y 轴方向移动离开屏幕[^2]。 #### 动画参数调整 开发者还可以进一步定制动画行为,比如改变持续时间和插值器类型等。例如,如果希望动画更加流畅自然,则可以选择不同的 Interpolator 类型如 Bounce 或 AccelerateDecelerate 插值器。 --- ### 注意事项 为了确保最佳用户体验,请注意以下几点: 1. **保持简洁明快**:避免复杂的图形或长时间加载操作影响用户感知速度。 2. **适配深色模式**:考虑不同亮度环境下的显示效果一致性。 3. **测试兼容性**:尽管新API适用于较高版本系统,但对于旧版设备仍需提供替代方案。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值