我需要创建一个Drawable
具有所需颜色作为背景颜色的简单对象,但我不知道如何在不使用 XML 模式的情况下以编程方式完成它(真的有可能吗?)。请告诉我,我需要它来制作LayerDrawable
和使用(以编程方式SeekBar
更改背景)。SeekBar
先感谢您。
问问题
24505 次
3 回答
45
您应该尝试使用ColorDrawable。可以使用构造函数用颜色构造ColorDrawable(int color)
于 2013-01-16T12:16:51.253 回答
7
正如@Thrakbad 所建议的,您可以使用ColorDrawable
:
TextView textView = new TextView(this);
ColorDrawable colorDrawable = new ColorDrawable(0xFFFF0000);
textView.setBackgroundDrawable(colorDrawable);
于 2016-05-18T12:59:54.840 回答
6
ColorDrawable在您的情况下会对您有所帮助,您可以为您的可绘制对象传递参数颜色。
或者您可以执行以下操作:
ImageView imgStatus = (ImageView) findViewById(R.id.imgInfoIcon);
// Load the icon as drawable object
Drawable d = getResources().getDrawable(R.drawable.ic_menu_info_details);
// Get the color of the icon depending on system state
int iconColor = android.graphics.Color.BLACK
if (systemState == Status.ERROR)
iconColor = android.graphics.Color.RED
else if (systemState == Status.WARNING)
iconColor = android.graphics.Color.YELLOW
else if (systemState == Status.OK)
iconColor = android.graphics.Color.GREEN
// Set the correct new color
d.setColorFilter( iconColor, Mode.MULTIPLY );
// Load the updated drawable to the image viewer
imgStatus.setImageDrawable(d);
上面的代码最初发布在这里
于 2013-01-16T12:22:40.930 回答