【问题标题】:set colors in android在android中设置颜色
【发布时间】:2011-03-18 19:40:47
【问题描述】:

我正在尝试为 android 中的 tablerow 设置背景颜色,但无法引用正确的 int。下面是代码。难道我做错了什么?背景中出现的颜色是浅灰色。

   <?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Trackfolio</string>
    <color name="colorWhite">#FFFFFF</color>
    <color name="colorBlack">#000000</color>
    <color name="colorLightBlue">#6495ED</color>
</resources>

row.setBackgroundColor(R.color.colorLightBlue);

还有没有办法设置文字颜色?

tv.setTextColor(R.color.colorBlack);

【问题讨论】:

    标签: android background tablerow


    【解决方案1】:

    cfarm54,

    访问颜色的方式是获取 R.java 生成文件中的偏移位置。

    你需要像这样访问它们...

    Resources res = context.getResources();
    row.setBackgroundColor(res.getColor(R.color.high_priority));
    

    【讨论】:

      【解决方案2】:

      哎呀:笨蛋,你应该在引用颜色资源时使用 tableRow.setBackgroundResource()。

      【讨论】:

        【解决方案3】:

        试试setBackgroundResource(int color)。使用 setBackgroundColor 使用 R.color.colorLightBlue 用于引用您定义的颜色的 int,并尝试将其解析为颜色,而不是检索引用的颜色。

        【讨论】:

        • 看起来@willytate 的方法应该有效。只需使用setTextColor(getResources().getColor(R.color.colorLightBlue)); /untested
        猜你喜欢
        • 2011-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-04
        • 1970-01-01
        • 2016-12-03
        • 2012-01-20
        相关资源
        最近更新 更多