首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现活壁纸

实现活壁纸
EN

Stack Overflow用户
提问于 2014-08-22 09:28:10
回答 1查看 565关注 0票数 1

我正在做一个定制的主屏幕,我想给用户在我的启动/主屏幕上使用现场壁纸的能力。将android:Theme.Holo.Wallpaper.NoTitleBar设置为我想要的AppTheme,但不完全是这样。

有两个可能的解决方案(但请告诉我,如果你能想到另一个好办法);

  • 使用android:Theme.Holo.Wallpaper.NoTitleBar作为我的AppTheme
    • 现场的壁纸显示,但用户不能与他们互动。不太好,但我没意见。

  • 以“适当”的方式实现它,这样用户就可以与它交互。
    • 最大的问题是我在任何地方都找不到该怎么做。我能找到的所有文档都告诉我如何创建一个活壁纸,但没有告诉我如何在我的自定义主屏幕中实现对它的支持。

无论我采取哪种方法,这是两个问题,我会招致任何方式,也希望一个解决方案;

  • 我需要计算壁纸的“平均颜色”(类似的东西也很好)。如果可能的话,我该如何用活壁纸来做这件事?
  • 我需要在某个时候模糊壁纸。这里一个可以接受的解决方案是,只需将其覆盖到一个黑色透明背景,而不是模糊它,但理想情况下,我将能够模糊它(即使我可以采取某种静态屏幕截图的当前状态的活壁纸,以便我可以模糊)。如果我能从活壁纸的当前状态获得一个静态快照,这也将解决我以前的问题。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-25 17:53:27

这是我最后做的事情;

  • android:Theme.Holo.Wallpaper.NoTitleBar设置为AppTheme
  • 当设置活壁纸并默认为透明黑色时,禁用颜色计算。
    • 使用WallpaperManager.getInstance (this.context).getWallpaperInfo () != null检测是否设置了活壁纸。

  • 虽然您可以获得您的根视图的屏幕截图,现场墙纸显示的区域将是透明的。那就不好了。最后,我用一个透明的黑色覆盖来覆盖它,这样显示在上面的白色文本仍然是可读的。

显然,使用android:Theme.Holo.Wallpaper.NoTitleBar并不能阻止用户与实时墙纸进行交互。我测试的现场壁纸(Android的默认壁纸)不允许任何形式的交互,我没有意识到这一点。

我希望这个信息能为其他人节省一些时间。

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

https://stackoverflow.com/questions/25443746

复制
相关文章

相似问题

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