给Activity设置背景颜色

为了使得错误提示更加显眼,再用Toast+振动效果之外考虑变换整个activity的背景颜色。

 

尝试一:

activity并没像winform一样直接给个属性来设置,就想获取整个activity的layout然后通过设置layout的颜色来达到改变actvity背景色的效果,

虽然成功改变了窗体的颜色,不过这种方法同时把layout里边所有的组件颜色给改变了! 

 

尝试二:(成功)

无意中发现activity 的context有个getWindow方法 ,看起来就像获取winform的窗体一样。 

window有个setBackgroundDrawable的方法,很明显  现在只要给这个方法提供一个drawable类型的参数就可以了。

这种方法不会改变窗体中子控件的背景颜色。

步骤一:

首先,

(1)在res -> values -> strings.xml 下添加一个drawable 获取resid: R.drawable.bkcolor  
<resources>
<drawable name="bkcolor">#000000</drawable>
</resources>

(2)或者在colors.xml 中添加一个 color     获取resid:  R.color.bkcolor1 

 <resources>
   <color name="bkcolor1">#ffffff</color>
</resources>

步骤二:

    Resources res=getResources(); //获取res资源文件夹的对象
    Drawable drawable=res.getDrawable(R.drawable.bkcolor);//转换成drawable对象
    getWindow().setBackgroundDrawable(drawable);  
posted @ 2013-11-01 21:25  mushishi  阅读(968)  评论(0编辑  收藏  举报