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

标签 android material-design android-animation telegram vk

我正在使用 DayNight我的应用程序中的主题。我有一个改变主题的按钮。在 VK 和 Telegram 应用程序中,有一个漂亮的显示动画,可以更改主题而无需重新启动 Activity 或类似的东西。

我试图用 reveal animation implementation 做到这一点以不同的方式,但在某些情况下使用 AppCompatDelegate.setDefaultNightMode(...) 不起作用或工作不好。所有带有显示动画的示例都适用于 ActivityA -> ActivityB,但我只需要更新主题而不启动任何 Activity 。

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

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

例子:

Telegram (From Dark to Light)

Telegram (From Light to Dark)

VK (From Light to Dark)

VK (From Dark to Light)

最佳答案

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

关于android - 如何在主题更改时制作循环显示效果? (就像在 Telegram 或 VK 中一样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59804141/

相关文章:

android - 无法从 Robolectric 2 单元测试创​​建 ActionBarActivity

java - 更改 CardsUI View 的文本

css - 如何在 css 伪元素 (::before) 中使用 Material.io 轮廓图标?

android - 如何使 TextView 闪烁

java - 将单选按钮添加到上下文菜单

android - 如何在 Android 的 EditText 中验证 URL/网站名称?

javascript - 使用 CDN 的 Web 模式抽屉示例的 Material 组件

android - 新的 android 支持设计库,屏幕外滚动 tablayout 不工作

android - 对话框中是否可以有动画列表?

android-fragments - 碎片,安卓 :zAdjustment (z order) and animations