我试图用我自己的颜色设置我的FrameLayout的backgroundcolor.
我创建了一个包含我自己颜色的.xml文件.
这里是:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="red">#FF0000</color> <color name="orange">#FF7D00</color> <color name="yellow">#FFFF00</color> <color name="green">#00FF00</color> <color name="blue">#00B4FF</color> <color name="black">#000000</color> </resources>
这里是我试图设置backgroundcolor的代码,但是当我运行应用程序时,FrameLayout总是灰色的,为什么?:
FrameLayout MyFrameLayout = new FrameLayout(this); LayoutParams MyFrameLayoutParam = new LayoutParams(LayoutParams.FILL_PARENT,200); MyFrameLayout.setLayoutParams(MyFrameLayoutParam); MyFrameLayout.setBackgroundColor(R.color.red); Parent.addView(MyFrameLayout);
解决方法
您需要在设置之前从资源中检索颜色.您指定的R.java id不是实际值.
Color red = getApplicationContext().getResources().getColor(R.color.red) MyFrameLayout.setBackgroundColor(red);