主题更改时如何制作圆形显示效果?(就像在 Telegram 或 VK 中一样)

Dar*_*der 6 android android-animation vk telegram material-design

我在我的应用程序中使用DayNight主题。我有一个改变主题的按钮。在 VK 和 Telegram 应用程序中有一个漂亮的显示动画,可以在不重新启动活动或类似的情况下更改主题。

我试图通过不同方式的显示动画实现来实现这一点,但在某些情况下使用 AppCompatDelegate.setDefaultNightMode(...) 它不起作用或运行不佳。带有显示动画的所有示例都适用于 ActivityA -> ActivityB,但我只需要更新主题而不启动任何活动。

还有一件事:AppCompatDelegate.setDefaultNightMode 重新创建我的活动,所以我需要自定义主题更改实现吗?

主要问题:如何创建主题改变的动画?

例子:

电报(从暗到亮)

电报(从光明到黑暗)

VK(从明到暗)

VK(从暗到亮)

Hoo*_*man 8

由于电报是一个开源应用程序,您可以找到代码 -> 第 3154 行:github。似乎它将布局转换为位图并将其与现有的 imageView 一起使用来为圆形显示设置动画

  • @basaveshwarlamture 也许是主题切换按钮的坐标 (2认同)