您的位置:首页 > 其它

给Activity设置背景颜色

2013-11-01 21:25 423 查看
为了使得错误提示更加显眼,再用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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: