Why getApplicationContext().setTheme() in a Activity does not work?

前端 未结 5 1644
广开言路
广开言路 2021-01-11 12:20

i am currently have a hard time for calling to getApplicationContext().setTheme() in a activity, I just want to apply a theme resource in a application scope in

相关标签:
5条回答
  • 2021-01-11 12:56

    you can use setTheme(..) before calling setContentView(...) and super.oncreate() and it should work fine

    It's fixed in sdk 4.0 (may be earlier).

    0 讨论(0)
  • 2021-01-11 12:59

    When do you call setTheme() on your application context? It must be called before instantiating any views.

    0 讨论(0)
  • 2021-01-11 13:07

    you can use setTheme(..) before calling setContentView(...)and super.oncreate() and it should work fine

    0 讨论(0)
  • 2021-01-11 13:10

    I had the same problem before and didn't find a way to fix this. Only god knows why, but I've even seen Android framework engineers (I believe it was Dianne Hackborn) say that setting themes like this is discouraged.

    Set the theme for your Activity in the Manifest instead, and it will work.

    0 讨论(0)
  • 2021-01-11 13:17

    I didn't try this out myself, but if it was absolutely necessary to set the theme programatically, the next thing I'd try would be to derive a class from Application and override the onCreate method like in the following:

    public class MyApplication extends android.app.Application {
        @Override
        public void onCreate() {
            super.onCreate();
            setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen);
    
        }
    }
    
    0 讨论(0)
提交回复
热议问题