setTheme问题2

本文探讨了在Android开发中XML设置与setTheme方法应用时效果的不同,并提供了有效的解决方案。通过内部原理分析,解释了为何XML的android:windowBackground属性在特定情况下无法生效,并说明了正确的调用顺序对于实现预期效果的重要性。
摘要由CSDN通过智能技术生成

在xml  设置的效果

和setTheme的效果不一样

android:windowBackground

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

代码如下:

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



解决方案!!

有效果的代码!

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



内部原理的分析:

   

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


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的后面便会有效果!



呵呵!下班了!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值