gpt4 book ai didi

android - 为什么所有的颜色都一样?

转载 作者:太空狗 更新时间:2023-10-29 16:41:16 28 4
gpt4 key购买 nike

我不明白为什么所有的颜色都给出相同的结果。所有的 TextView 背景都是灰色的,尽管我有黑色、白色和红色。这里有什么问题?

<color name="color1">#FFFFFF</color>
<color name="color2">#000000</color>
<color name="color3">#FF0000</color?


Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(R.id.color1,R.color.color1);
map.put(R.id.color2,R.color.color2);
map.put(R.id.color3,R.color.color3);
GradientDrawable gradientDrawable;
TextView textView;
for (Map.Entry<Integer,Integer> entry : map.entrySet()) {
textView = findTextView(entry.getKey());
gradientDrawable = (GradientDrawable) textView.getBackground().mutate();
gradientDrawable.setColor(entry.getValue());
gradientDrawable.invalidateSelf();
}

最佳答案

将其更改为:

gradientDrawable.setColor(getResources().getColor(entry.getValue()));

http://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#setColor(int)

它接受的参数是:

argb The color used to fill the shape

通过直接将 R 资源 int 传递给它,它基本上是由 R 生成的随机数。您需要使用 Resources.getColor()

将其“解码”为 0xAARRGGBB 颜色值

http://developer.android.com/reference/android/content/res/Resources.html#getColor(int)

它们可能看起来都一样,因为整数值彼此接近。

关于android - 为什么所有的颜色都一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17489065/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com