在mainActivity中我使用hexString然后启动新活动并向其发送hexString 并使用此十六进制字符串更改背景颜色。 我需要知道是否有背景颜色方法可以采用参数hexString或long。
代码:
String colorValue = getIntent().getStringExtra("colorHex");
findViewById(R.id.layout1).setBackgroundColor(Color.parseColor(colorValue));//want change in the argument or if there's another method.
答案 0 :(得分:1)
尝试使用public static int parseColor (String colorString)
功能
取一个String并返回int颜色!
解析颜色字符串,并返回相应的color-int。如果无法解析字符串,则抛出IllegalArgumentException异常。支持的格式为:#RRGGBB #AARRGGBB或以下名称之一:'red','blue','green','black','white','grey','cyan','magenta','yellow' ,'lightgray','darkgray','grey','lightgrey','darkgrey','aqua','fuchsia','lime','maroon','navy','olive','purple','银','teal'。
尝试类似这样的内容
//find your layout
LinearLayout ll = (LinearLayout) findViewById(R.id.yourLinearLayout);
//Get the color from an EditText
EditText newcolor = (EditText) findViewById(R.id.yourEditText);
String stringColor = newcolor.getText().toString(): //Assume that you have the #RRGGBB
//the function take only #RRGGBB with 6 values read documentation for more information
int intColor = Color.parseColor(stringColor);
//Set the color to the LinearLayout
ll.setBackground(intColor);
答案 1 :(得分:0)
假设颜色为黄色。
{{1}}