В XML мы можем установить цвет текста по textColor
атрибуту, например android:textColor="#FF0000"
. Но как я могу изменить это кодированием?
Я попробовал что-то вроде:
holder.text.setTextColor(R.color.Red);
Где holder
просто класс и text
тип TextView
. Красный - это значение RGB (# FF0000), заданное в строках.
Но это показывает другой цвет, а не красный. Какой тип параметра мы можем передать в setTextColor ()? В документации говорится int
, но это справочное значение ресурса или что-то еще?
Ответы:
Вы должны использовать:
Вы можете использовать различные функции из
Color
класса, чтобы получить тот же эффект, конечно.Color.parseColor
(Ручной) (как LEX использует)Color.rgb
иColor.argb
( Manual rgb ) ( Manual argb ) (как использует Ganapathy )И, конечно, если вы хотите определить свой цвет в
XML
файле, вы можете сделать это:потому что
getColor()
функция устарела 1 , вам нужно использовать ее так:Вы также можете вставить обычный HEX, например, так:
Там, где у вас есть альфа-канал, а затем значение цвета.
Ознакомьтесь с полным руководством, конечно, публичный класс Color extends Object .
1 Этот код также был здесь:
Этот метод теперь устарел в Android M. Однако вы можете использовать его из contextCompat в библиотеке поддержки , как показано в примере.
источник
getColor(int)
устарел.Если вы все еще хотите указать свои цвета в своем XML-файле:
Затем назовите это в своем коде одним из следующих двух методов:
или
Первое, вероятно, предпочтительнее, если вы компилируете под Android M, однако тема, которую вы передаете, может быть нулевой, так что, может быть, это проще для вас?
И если вы используете библиотеку Compat, вы можете сделать что-то вроде этого
источник
getColor(int)
устарел.ContextCompat.getColor(getContext(), R.color.yourColor);
кажется замена.И еще один:
источник
getResources()
является функцией-членом Context Для адаптеров используйтеgetContext().getResources()
. Значения цвета должны идти в ресурсы, как в ответе @ xbakesx.Вы можете сделать это только из файла XML тоже.
Создайте
color.xml
файл в папке значений:Затем в любом XML-файле вы можете установить цвет текста, используя
Или вы можете использовать этот цвет в файле Java:
источник
Ты можешь использовать
Вы также можете указать, какой цвет вы хотите с прозрачностью.
a для альфа (прозрачного) значения r-красный g-зеленый b-синий
источник
используйте следующий код в layout.xml
источник
Есть много разных способов установить цвет в текстовом представлении.
Добавьте значение цвета в студии res-> values-> colors.xml как
Теперь установите цвет в классе xml или actvity как
Если вы хотите дать цветовой код, используйте ниже код Color.parseColor
Вы также можете использовать RGB
Использование также может использовать прямой шестнадцатеричный код для textView. Вы также можете вставить обычный HEX, например, так:
Вы также можете использовать argb с альфа-значениями.
а для альфа (прозрачный) v.
И если вы используете библиотеку Compat, вы можете сделать что-то вроде этого
источник
Я обычно делаю это для любых просмотров:
где
AA определяет альфа (00 для прозрачного, FF для непрозрачного)
RRGGBB определяет нормальный цветовой код HTML (например, FF0000 для красного).
источник
Если вы планируете использовать setTextAppearance, вы должны знать, что он заменит цвет текста в стиле, унаследованном от темы. Так что если вы хотите использовать оба, установите цвет потом .
Это работает:
Хотя это приведет к тому, что ваш цвет текста будет, например, белым (для темной темы) или черным (для светлой темы):
В отличие от этого в XML порядок произвольный.
источник
В
colors.xml
файле напишите в коде ниже:источник
Я считаю, что если вы хотите указать цвет в качестве ресурса (в файле XML ), вам нужно будет указать его значение ARGB (а не просто значение RGB).
Попробуйте изменить значение цвета на
#FFFF0000
. Это должно дать вам красный.источник
text.setTextColor(getResource().getColor(R.color.black))
у вас есть создать черный цвет в color.xml.ИЛИ
text.setTextColor(Color.parseColor("#000000"))
здесь введите желаемый hexcodeИЛИ
text.setTextColor(Color.BLACK)
Вы можете использовать статические поля цветаисточник
Использование:
источник
или
источник
Используя адаптер, вы можете установить цвет текста, используя этот код:
источник
Над кодом работает на моей стороне. Вот
text
это TextView , на котором требуется цвет должны быть установлен.источник
источник
Начиная с API 23,
getResources().getColor()
является устаревшим.Используйте это вместо:
источник
источник
В адаптере вы можете установить цвет текста, используя этот код:
источник
если вы хотите дать цветовой код напрямую, используйте
или если вы хотите дать цветовой код из папки цветов, используйте
источник
Для того, чтобы установить цвет TextView,
TextView.setTextColor(R.color.YOURCOLOR)
недостаточно!Это должно быть использовано так -
ИЛИ
источник
источник
Точно так же я использовал
color.xml
:Для настройки
TextView
фона, как:Я получил другой цвет, но когда я использовал приведенный ниже код, я получил реальный цвет.
источник
Я сделал это следующим образом: создать XML-файл с именем Colors в папке res / values.
My Colors.xml:
Чтобы получить эти цвета из XML-файла, я использовал этот код: valor это TextView, а ctx это объект Context. Я использую его не из Activity, а через BaseAdapter для ListView. Вот почему я использовал этот объект контекста.
Надеюсь, поможет.
источник
Для предоставления значений rgb:
text.setTextColor(Color.rgb(200,0,0));
Для анализа цвета из шестнадцатеричного значения:
text.setTextColor(Color.parseColor("#FFFFFF"));
источник
Если вы находитесь в адаптере и по-прежнему хотите использовать цвет, определенный в ресурсах, вы можете попробовать следующий подход:
источник
источник
getColor () является устаревшим
Так что попробуйте так:
источник
Я делал это для TextView в ViewHolder для RecyclerView. Я не совсем уверен, почему, но это не сработало для меня при инициализации ViewHolder.
Но когда я переместил его в onBindViewHolder, он работал нормально.
Надеюсь, это кому-нибудь поможет.
источник