Intereting Posts
Жизненный цикл операции – получение уведомления о том, что макет завершен Поделиться ссылкой «ссылка» в Android Получение java.lang.ClassCastException: android.os.BinderProxy каждый раз, когда я объявляю и запускаю две службы Android – создание списка полностью из xml Как установить цвет текста в текстовое представление программно Как скрыть кнопку отмены в пользовательской DialogPreference в Android? Сделать гиперссылку textview в android Как отключить push-уведомление от отображения при запуске приложения? Удаление вызова из журнала вызовов после завершения вызова Пограничные линии для ячеек в GridLayout, TableLayout или GridView? Android: ориентация предварительного просмотра камеры в портретном режиме Как правильно фильтровать пакет, замененный трансляцией Добавить javascript в WebView Когда используется Snackbar isQueued ()? (Как поставить в очередь закусочную) Проверены ли «ожидаемый ресурс типа» Android Studio?

Создайте новый цвет.

Я пытаюсь преобразовать шестнадцатеричное значение в int, чтобы я мог создать новый цвет. Я не уверен, что это возможно, но согласно документации, это должно быть. Он прямо просит

Public ColorDrawable (цвет int)

Добавлено в API level 1 Создает новый ColorDrawable с указанным цветом.

Параметры цвета Цвет для рисования.

Таким образом, мой код не работает, потому что я получаю ошибку Invalid int: «FF6666». Есть идеи?

int decode = Integer.decode("FF6666"); ColorDrawable colorDrawable = new ColorDrawable(decode); 

Solutions Collecting From Web of "Создайте новый цвет."

Поскольку вы говорите об гексе, вы должны начинать с 0x и не забывать непрозрачность.

Итак, в основном: 0xFFFF6666

 ColorDrawable cd = new ColorDrawable(0xFFFF6666); 

Вы также можете создать новый файл colors.xml в / res и определить цвета, например:

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="mycolor">#FF6666</color> </resources> 

И просто получите цвет, определенный в R.color.mycolor

 getResources().getColor(R.color.mycolor) 

Это должно быть так …

 ColorDrawable cd = new ColorDrawable(0xffff6666); 

Примечание. Я использовал 8 шестнадцатеричных цифр, а не 6 шестнадцатеричных цифр. Которые добавляют к прозрачности

Для использования с ContextCompat и повторного использования цвета вы можете сделать что-то вроде этого:

 ColorDrawable colorDrawable = new ColorDrawable(ContextCompat.getColor(this, R.color.white)); 

Я думаю, вы должны использовать:

Public static int parseColor (String colorString)

Добавлен в уровень API 1 Разбор строки цвета и возврат соответствующего цвета-int. Если строка не может быть проанализирована, выбрасывается исключение IllegalArgumentException. Поддерживаемые форматы: #RRGGBB #AARRGGBB красный, синий, зеленый, черный, белый, серый, голубой, пурпурный, желтый, светлый, темно-серый, серый, светлый, темный, аква, фушия, лайм, бордовый, темно-синий, Серебро, чирок