2015-12-28 4 views
0

В 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. 

ответ

1

Google Documentation

Попробуйте с функцией public static int parseColor (String colorString) Это взять строку и возвращает Int цвет!

Разбор строки цвета и возврат соответствующего цвета. Если строка не может быть разобрана, выбрасывается исключение IllegalArgumentException. Поддерживаемые форматы: #RRGGBB #AARRGGBB или одно из следующих имен: «красный», «синий», «зеленый», «черный», «белый», «серый», «голубой», «пурпурный», , 'lightgray', 'darkgray', 'gray', 'lightgrey', 'darkgrey', 'aqua', 'fuchsia', 'lime', 'maroon', 'navy', 'olive', 'purple', ' серебро "," чирок ".

Попробуйте что-то вроде этого

//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); 
+0

не работает это сделать новую остановку деятельности, если я вставить шестигранный ех 0xFFF. – Magician

+0

попробуйте с #, как этот 'public static int parseColor (" # 0xfff ")' Используйте try и catch, потому что ** Если строка не может быть проанализирована, выбрасывается исключение IllegalArgumentException ** – Dario

+0

Все еще спускайтесь, когда он начинает новую активность , – Magician

0

предположить желтый цвет.

private static int yellow = Color.parseColor("#f9ce1e"); 
view.setBackgroundColor(yellow); 
Смежные вопросы