将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)
, myPassedColor
是hex
值,如#000
或#000000
或#00000000
。
但是,此函数不支持简写hex值 ,如#000
。
Integer.parseInt(myString.replaceFirst("#", ""), 16)
我有同样的问题,我发现#AAAAAA
forms的一些颜色,我想转换成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)
祝你好运