为什么活动中的getApplicationContext().setTheme()不起作用?

use*_*778 12 android themes

我目前很难getApplicationContext().setTheme()在一个活动中调用,我只是想在应用程序范围中应用主题资源而不是代码样式中的活动范围,但问题是这根本不起作用,任何人都可以向这个.

非常感谢.!

他是代码骨架:

public class StartUp extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    /*
     * setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen);
     * //that works!
     */
       this.getApplicationContext().setTheme(
            android.R.style.Theme_Black_NoTitleBar_Fullscreen);
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
    }
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*ias 11

我之前遇到过同样的问题,但没有办法解决这个问题.只有上帝知道为什么,但我甚至看到Android框架工程师(我相信是Dianne Hackborn)说,设置这样的主题是不鼓励的.

相反,在Manifest中为您的Activity设置主题,它将起作用.

  • 以下是错误报告:http://code.google.com/p/android/issues/detail?id = 4394 (3认同)

Ahm*_*lem 11

您可以使用setTheme(..)之前调用setContentView(...)super.oncreate() 它应该工作正常

  • 我在setContentView之前和super.onCreaete之前调用,但它仍然无法工作. (7认同)