主题改变时如何制作循环显露效果?(就像在电报或VK中一样)



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

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

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

主要问题:如何在主题变化的情况下创建动画?

例子:

电报(从黑暗到光明(

电报(从亮到暗(

VK(从浅色到深色(

VK(从暗到亮(

由于Telegram是一个开源应用程序,因此您可以找到代码->行3154:GitHub。 似乎它将布局转换为位图并将其与现有图像一起使用View 以动画循环显示

最新更新