首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AnimatedVectorDrawable作为窗口背景。有可能吗?

AnimatedVectorDrawable作为窗口背景。有可能吗?
EN

Stack Overflow用户
提问于 2017-08-09 20:59:15
回答 1查看 1.8K关注 0票数 11

我正在尝试使用AnimatedVectorDrawable作为设置在窗口背景中的启动动画。我使用https://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html中给出的官方示例。它看上去却没有生命。

Window 是背景下的动画吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-13 00:47:48

第一次打开应用程序时看到的第一个屏幕(冷启动)是由WindowManager创建的屏幕占位符。它通过获取在主题上设置的资源来创建占位符,比如窗口背景和状态栏颜色。要启动窗口背景的动画,您必须调用它的start()方法,但是WindowManager是一个系统服务,您几乎控制不了它。因此,在应用程序初始化的这个阶段,除非在WindowManager方法中有一些模糊的方法来控制Application.onCreate(),否则不可能对矢量背景进行动画化。

我从冷起点打开了很多应用程序,包括谷歌应用程序,但似乎没有一个应用程序能在冷启动阶段实现动画(就像材料设计文档暗示的那样)。极少数人在onCreate的主要活动开始后制作动画。

如果在他冷启动后启动动画没有问题,比如在将徽标移动到屏幕顶部的情况下,可以:

  1. 将带有属性android:windowBackground的主题设置为AndroidManifest.xml启动活动中的静态可绘制主题
  2. 在您的活动中调用super.onCreate()之前,更改默认主题的主题。
  3. 在静态窗口背景向量的相同位置设置一个内容视图,其中包含ImageView的AnimatedVectorDrawable。
  4. 调用start()方法的AnimatedVectorDrawable。

这是一个AndroidDeveloper的文章详细解释了如何处理发射屏幕的应用主题

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45600547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档