setTheme问题2

在xml  设置的效果

和setTheme的效果不一样

android:windowBackground

没有效果????????

代码如下:

  super.onCreate(savedInstanceState);
        setTheme(R.style.blueSummerTheme);
        setContentView(R.layout.main);

setTheme问题2_第1张图片


解决方案!!

有效果的代码!

setTheme(R.style.blueSummerTheme);
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.main);

setTheme问题2_第2张图片



内部原理的分析:

   

  主题设置要先获取相关属性的设置,在进行绘制在界面上!


from 下面这句话便可以得出这样的结论!

public void setTheme(int resid)

Since: API Level 1

Set the base theme for this context. Note that this should be called before any views are instantiated in the Context (for example before calling setContentView(View) or inflate(int, ViewGroup)).

Parameters
resid The style resource describing the theme.

上面的android:windowBackground没有效果,是因为它的属性的获取是在

  super.onCreate(savedInstanceState);

故要 把它放在  setTheme的后面便会有效果!



呵呵!下班了!


你可能感兴趣的:(xml,android,api)