Установить цвет диапазона TextView в Android - PullRequest
178 голосов
/ 19 июля 2010

Можно ли установить цвет всего текста в TextView?

Я хотел бы сделать что-то похожее на приложение Twitter, в котором часть текста синего цвета.Смотрите изображение ниже:

alt text

Ответы [ 12 ]

1 голос
/ 15 августа 2018

Просто чтобы добавить к принятому ответу, поскольку все ответы, кажется, говорят только о android.graphics.Color: что, если цвет, который я хочу, определен в res/values/colors.xml?

Например, рассмотрим Цвета материала конструкции , определенные в colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="md_blue_500">#2196F3</color>
</resources>

(android_material_design_colours.xml ваш лучший друг)

Затем используйте ContextCompat.getColor(getContext(), R.color.md_blue_500) там, где вы будете использовать Color.BLUE, так что:

wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

становится:

wordtoSpan.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), R.color.md_blue_500)), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Где я нашел это:

0 голосов
/ 07 апреля 2017
  1. создать текстовое представление в вашем макете
  2. вставить этот код в ваш MainActivity

    TextView textview=(TextView)findViewById(R.id.textviewid);
    Spannable spannable=new SpannableString("Hello my name is sunil");
    spannable.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 5, 
    Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
    textview.setText(spannable);
    //Note:- the 0,5 is the size of colour which u want to give the strring
    //0,5 means it give colour to starting from h and ending with space i.e.(hello), if you want to change size and colour u can easily
    
...