我想使用一个颜色从一个六边形字符串,如“#FFFF0000”来(说)改变一个布局的背景颜色。 颜色。HSVToColor看起来像一个赢家,但它以float[]作为参数。

我离解决方案还有一步之遥吗?


当前回答

没有预定义的类实现直接从十六进制代码的颜色名称,所以你要做的是尝试键值对概念简单,遵循这段代码。

String hexCode = "Any Hex code" //#0000FF HashMap<String, String> color_namme = new HashMap<String, String>(); color_namme.put("#000000", "Black"); color_namme.put("#000080", "Navy Blue"); color_namme.put("#0000C8", "Dark Blue"); color_namme.put("0000FF", "Blue"); color_namme.put("000741", "Stratos"); color_namme.put("001B1C", "Swamp"); color_namme.put("002387", "Resolution Blue"); color_namme.put("002900", "Deep Fir"); color_namme.put("002E20", "Burnham"); for (Map.Entry<String, String> entry : color_namme.entrySet()) { String key = (String) entry.getKey(); String thing = (String) entry.getValue(); if (hexCode.equals(key)) Color_namme.setText(thing); //Here i display using textview }

其他回答

试试这个

int colorInt = Color.parseColor("#FF00FFF0");
bg.setBackgroundColor(colorInt);

bg是你想要设置背景色的视图或布局。

尝试Color类方法:

public static int parseColor (String colorString)

来自Android文档:

支持的格式是:#RRGGBB #AARRGGBB '红色','蓝色','绿色','黑色','白色','灰色','青色','品红','黄色','浅灰色','深灰色'

AndroidX:弦toColorInt()。

没有预定义的类实现直接从十六进制代码的颜色名称,所以你要做的是尝试键值对概念简单,遵循这段代码。

String hexCode = "Any Hex code" //#0000FF HashMap<String, String> color_namme = new HashMap<String, String>(); color_namme.put("#000000", "Black"); color_namme.put("#000080", "Navy Blue"); color_namme.put("#0000C8", "Dark Blue"); color_namme.put("0000FF", "Blue"); color_namme.put("000741", "Stratos"); color_namme.put("001B1C", "Swamp"); color_namme.put("002387", "Resolution Blue"); color_namme.put("002900", "Deep Fir"); color_namme.put("002E20", "Burnham"); for (Map.Entry<String, String> entry : color_namme.entrySet()) { String key = (String) entry.getKey(); String thing = (String) entry.getValue(); if (hexCode.equals(key)) Color_namme.setText(thing); //Here i display using textview }

在Xamarin的 使用这个

Control.SetBackgroundColor(global::Android.Graphics.Color.ParseColor("#F5F1F1"));

It's

int color =  Color.parseColor("colorstring");