给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);
本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/3402806.html