我想在我的应用中使用Theme.Wallpaper。此主题使用手机当前壁纸作为背景。问题是它在4.1设备上不起作用。我也尝试在我的样式资源中重新创建Theme.Wallpaper,但它再次对4.1设备不起作用。 - 请注意,它也可能不适用于较低的API,我只确认它在2.2.1上工作而不在4.1上工作。 我想知道为什么它不起作用,如果有任何解决方案。
答案 0 :(得分:2)
我终于找到了答案,这有点复杂:
在为14以上的目标(我的是17岁)构建的项目中,eclipse自动创建“values-v11”和“values-v14”文件夹(适用于api版本14及以上或11及以上的手机或AVD )。在这些文件夹中是包含“AppBaseTheme”样式的style.xml文件,此“AppBaseTheme”样式替换默认“values”文件夹中的一个,该文件夹是“AppTheme”样式的父项(或者:扩展)默认情况下应用于应用程序..
现在,我选择将“Theme.Wallpaper”风格应用到我的应用程序的方式是让我的“AppBaseTheme”继承它。理解这一点,很明显为什么我的应用程序没有像使用API 11及更高版本的系统上的“Theme.Wallpaper”行为一样:我从未做过替代v11和v14“AppBaseTheme”扩展“Theme.Wallpaper”或更合适适用于v11的“Theme.Holo.Wallpaper”和适用于v14的“Theme.DeviceDefault.Wallpaper”。
所以,如果你在使用样式时遇到麻烦,我希望你能看到这个......
编辑:如果您正在阅读本文,并且在编辑eclipse中的style.xml文件时遇到麻烦,请尝试在任何文本编辑器中打开此文件(我最喜欢的是记事本++)并删除所有注释,而不是在eclipse上重新打开它。如果您需要评论,只需在文本编辑器中添加它们。