Android:从XML颜色常量以编程方式设置颜色

pro*_*815 8 java android colors

尝试将res/values/colors.xml中定义的颜色设置为对象,

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <drawable name="listViewSelected">@android:color/holo_blue_light</drawable>
  <drawable name="listViewPressed">@android:color/holo_green_light</drawable>
  <drawable name="pagerTabStrip">#2B3333</drawable>
  <!--<drawable name="pagerTabStrip">#353F3E</drawable>-->
  <drawable name="tableHead">#FF444444</drawable>

</resources>
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么它不起作用,我尝试了很多方法 (getResources(), Color.parseColor(), ...)

如何将颜色"tableHead"设置为TextView?

tv.setBackgroundColor(????);

Soh*_*aib 17

颜色条目应该是这样的

<color name="tableHead">#FF444444</color>

并使用 tv.setBackgroundResource(R.color.tableHead);


Jai*_*dhi 7

使用,..

Color.parseColor("#bdbdbd");
Run Code Online (Sandbox Code Playgroud)

喜欢,

mTextView.setTextColor(Color.parseColor("#bdbdbd"));
Run Code Online (Sandbox Code Playgroud)

要么......................

获取所使用的根布局的句柄,然后在其上设置背景颜色.根布局是你用setContentView调用的.

//现在获取您正在使用的主要布局中包含的任何View的句柄

 View someView = findViewById(R.id.randomViewInMainLayout);
Run Code Online (Sandbox Code Playgroud)

//找到根视图

 View root = someView.getRootView()
Run Code Online (Sandbox Code Playgroud)

//设置颜色

  root.setBackgroundColor(getResources().getColor(android.R.color.red));
Run Code Online (Sandbox Code Playgroud)