将hex颜色值(#ffffff)转换为整数值

我从服务器接收hex颜色值(在这种forms下, #000000 #xxxxxx ,黑色示例#000000

如何将其转换为整数值?

我试着做Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))得到一个更为hex的0x000000结果,但这不是作为一个int在这里,任何其他的build议?

我收到一个错误: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer

我为他们的setBackgroundColor(int color)函数使用了Android SDK,这个函数需要 – 你可能已经猜到了 – 一个整数的颜色值。

这是这个问题的反对: 如何在Android中将颜色整数转换为hexstring?

真正的答案是使用:

Android中的Color.parseColor(myPassedColor)myPassedColorhex值,如#000#000000#00000000

但是,此函数不支持简写hex值 ,如#000

 Integer.parseInt(myString.replaceFirst("#", ""), 16) 

我有同样的问题,我发现#AAAAAAforms的一些颜色,我想转换成android可以利用的forms。 我发现你可以使用0xFFAAAAAA这样android就可以自动识别颜色了。 注意第一个FF告诉alpha值。 希望能帮助到你

我面临同样的问题。 这样我就能解决它。 正如CQM所说,使用Color.parseColor()是解决这个问题的一个很好的方法。

这是我使用的代码:

 this.Button_C.setTextColor(Color.parseColor(prefs.getString("color_prefs", String.valueOf(R.color.green)))); 

在这种情况下,我的目标是改变button的文本颜色(Button_C),当我从我的首选项(color_prefs)更改颜色select。

真正的答案是这最简单和最简单….

 String white = "#ffffff"; int whiteInt = Color.parseColor(white); 

回答是真的很简单的家伙,在android中,如果你想将hex颜色转换为int,只需使用android color类,如下图所示

这是浅灰色的颜色

 Color.parseColor("#a8a8a8"); 

多数民众赞成它,你会得到你的结果。

试试这个,在你的资源中创builddrawable

 <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="@color/white"/> <size android:height="20dp" android:width="20dp"/> </shape> 

然后使用…

  Drawable mDrawable = getActivity().getResources().getDrawable(R.drawable.bg_rectangle_multicolor); mDrawable.setColorFilter(Color.parseColor(color), PorterDuff.Mode.SRC_IN); mView1.setBackground(mDrawable); 

与颜色…“#FFFFFF”

如果颜色是透明的,使用… setAlpha

mView1.setAlpha(x); x浮点数0-1 Ej(0.9f)

祝你好运