public ColorDrawable (int color)
自API级别1添加:使用指定的颜色创建一个新的ColorDrawable。
参数 color 要绘制的颜色。
所以,我的代码出现了“无效int:“FF6666””的错误。有什么想法吗?
int decode = Integer.decode("FF6666");
ColorDrawable colorDrawable = new ColorDrawable(decode);
public ColorDrawable (int color)
自API级别1添加:使用指定的颜色创建一个新的ColorDrawable。
参数 color 要绘制的颜色。
所以,我的代码出现了“无效int:“FF6666””的错误。有什么想法吗?
int decode = Integer.decode("FF6666");
ColorDrawable colorDrawable = new ColorDrawable(decode);
由于你在讨论十六进制,所以必须以0x
开头,并且不要忘记透明度。
基本上就是:0xFFFF6666
ColorDrawable cd = new ColorDrawable(0xFFFF6666);
你也可以在 /res 目录下创建一个新的 colors.xml 文件,并定义颜色,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="mycolor">#FF6666</color>
</resources>
只需获取在R.color.mycolor中定义的颜色即可。
getResources().getColor(R.color.mycolor)
new ColorDrawable(getResources().getColor(R.color.red)))
,谢谢。该代码用于在Android应用程序中设置红色背景颜色。 - shareef要在使用ContextCompat时重复使用颜色,您可以这样做:
ColorDrawable colorDrawable = new ColorDrawable(ContextCompat.getColor(this, R.color.white));
cd
在与Toast
相关的情况下应该如何使用? - Azurespot如果按照上述建议,这个问题的总结如下:
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#ce9b2c"));`
ColorDrawable colorDrawable = new ColorDrawable(0xFFCE9B2C); 注意,这里有8位十六进制数字,而不是6位,如果不这样写,则无法正常工作。将所有字母大写。
ColorDrawable colorDrawable = new ColorDrawable(ContextCompat.getColor(mContext,R.color.default_color));
选哪种方法由您决定!
int color = Color.HSVToColor(new float[]{...})
然后使用上面的代码。 - BertKingpublic static int parseColor (String colorString)
API级别1中添加。解析颜色字符串并返回相应的颜色整数。如果无法解析字符串,将抛出IllegalArgumentException异常。支持的格式有:#RRGGBB #AARRGGBB red、blue、green、black、white、gray、cyan、magenta、yellow、lightgray、darkgray、grey、lightgrey、darkgrey、aqua、fuschia、lime、maroon、navy、olive、purple、silver、teal。
这是我将十六进制颜色转换为整数并应用于视图背景的方法。
假设我们有一个颜色#8080000。
int myColor = Color.parseColor("#808000");
view.setBackgroundColor(context.getColor(myColor));
(context.getColor(myColor)
你是认真的吗?! (context.getColor(COLOR_RESOURCE_ID)
,它是资源颜色ID。 - user924Xamarin/Maui:
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Window.SetBackgroundDrawable(new ColorDrawable(ColorExtensions.ToAndroid(Colors.Black)));
}