android:如何使用自定义颜色?

use*_*806 8 android background-color android-framelayout

我试图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>
Run Code Online (Sandbox Code Playgroud)

这里是我试图设置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);
Run Code Online (Sandbox Code Playgroud)

tsm*_*ith 10

您需要在设置之前从资源中检索颜色.您正在分配R.java id而不是实际值.

Color red = getApplicationContext().getResources().getColor(R.color.red)
MyFrameLayout.setBackgroundColor(red);
Run Code Online (Sandbox Code Playgroud)