【问题标题】:android: How to use custom colors?android:如何使用自定义颜色?
【发布时间】:2012-09-01 19:10:05
【问题描述】:

我正在尝试使用我自己的颜色设置我的FrameLayout 的背景色。

我创建了一个.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>

这是我尝试设置背景颜色的代码,但是当我运行应用程序时,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);

【问题讨论】:

    标签: android background-color android-framelayout


    【解决方案1】:

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

    Color red = getApplicationContext().getResources().getColor(R.color.red)
    MyFrameLayout.setBackgroundColor(red);
    

    【讨论】:

    • 我认为是 R.color.red 而不是 R.id.red
    【解决方案2】:

    要在 xml 中使用您的自定义颜色,您可以使用以下内容:

    android:color="@color/orange"

    【讨论】:

      【解决方案3】:

      这会使按钮背景变为绿色,找到你想要的颜色。

      yourButton.setBackgroundColor(Color.parseColor("#25b72f"));

      【讨论】:

        【解决方案4】:

        你可以使用 setBackgroundResource(Color)

        这里是一个例子:

        relativelayout.setBackgroundResource(R.color.green);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-14
          • 2014-02-26
          • 2017-12-05
          • 2018-12-22
          • 1970-01-01
          相关资源
          最近更新 更多