我找到了一个漂亮的淡蓝色,带有很酷的十六进制值:#abcdef 我正在使用以下方式更改操作栏颜色:
getActionBar().setBackgroundDrawable(new ColorDrawable(0xffabcdef));
但是当我尝试将该值放入整数资源时:
<integer name="_light_blue">0xffabcdef</integer>
颜色变灰。原因是:
int i1 = 0xffabcdef;
int i2 = R.integer._light_blue;
值i1 = -5517841,值i2 = 2131099651。
任何修复?
答案 0 :(得分:2)
您将i2
设置为该整数的资源ID。而是获取实际值:
int i = 0xffabcdef;
int i2 = getResources().getInteger(R.integer._light_blue);
Log.e("", i + " " + i2);
但是在这里,使用颜色资源(res/values/colors.xml
)会更精确:
<resources>
<color name="_light_blue">#ffabcdef</color>
</resources>
然后使用颜色:
int myBlue = getResources().getColor(R.color._light_blue);
getActionBar().setBackgroundDrawable(new ColorDrawable(myBlue));