【问题标题】:colors.xml resource does not workcolors.xml 资源不起作用
【发布时间】:2011-07-10 12:54:02
【问题描述】:

我在我的 Android 应用程序的 /res/values/colors.xml 下创建了一个 colors.xml 文件。内容是……

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="Green">#00ff00</color>
</resources>

我尝试使用...更新我的 TableRow 的背景

    TableRow test = (TableRow)findViewById(R.id.tableRow2);
    test.setBackgroundColor(R.color.Green);

这不会将其设置为绿色,而是将其设置为灰色。无论我向 colors.xml 文件添加什么值,它始终是相同的灰色。但是,这确实有效...

    TableRow test = (TableRow)findViewById(R.id.tableRow2);
    test.setBackgroundColor(android.graphics.Color.GREEN);

我的 colors.xml 有问题吗?

【问题讨论】:

    标签: java android android-xml android-resources


    【解决方案1】:

    你应该改用这个:

    TableRow test = (TableRow)findViewById(R.id.tableRow2);
    test.setBackgroundColor(getResources().getColor(R.color.Green));
    

    遗憾的是资源 ID 和颜色具有相同的类型:int。您应该通过getColor() 从资源中获取颜色值并将该值用作颜色。当您使用资源 ID 作为颜色时。

    【讨论】:

      【解决方案2】:

      尝试使用命令 setBackgroundResource,即

      TableRow test = (TableRow)findViewById(R.id.tableRow2);
      test.setBackgroundResource(R.color.Green);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-01
        • 1970-01-01
        • 2015-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多