如何在Android上运行时应用Theme.Wallpaper?

时间:2010-12-14 09:10:51

标签: android themes

我使用以下代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTheme(android.R.style.Theme_Wallpaper);
    setContentView(R.layout.main);
}

但它什么都没做!

如何在运行时在Android上应用Theme.Wallpaper?

1 个答案:

答案 0 :(得分:1)

即使在调用父类的构造函数之前(即setTheme()之前)调用super.onCreate(...)方法,它也能正常工作。

以下适用于我:

public void onCreate(Bundle savedInstanceState) {
    setTheme(android.R.style.Theme_Wallpaper);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}

然而,它并不完美:启动活动时,显示的动画仍然属于默认主题 - >黑色屏幕淡入。动画结束后,将显示壁纸主题。

如果您想要以壁纸为主题的淡入动画,则必须使用AndroidManifest.xml中的声明