Как установить фоновое изображение только для части textView - PullRequest
0 голосов
/ 29 мая 2019

У меня есть многострочное текстовое представление, и я хочу установить фоновое изображение только для трех последних символов текстового представления -> от tv.length () - от 3 до tv.lenght ()

Ответы [ 3 ]

0 голосов
/ 29 мая 2019

Вы должны использовать buildSpannedString:

buildSpannedString {
            append("str1")
            append(' ')
            color(ContextCompat.getColor(context, R.color.red)) {
                append("red text")
            }
0 голосов
/ 30 мая 2019

Я думаю, что это будет работать:

Spannable spannable = new SpannableString(text);

spannable.setSpan(new ForegroundColorSpan(Color.WHITE), text.length(), text.length()-3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

myTextView.setText(spannable, TextView.BufferType.SPANNABLE);
0 голосов
/ 29 мая 2019

Это может вам очень помочь:

    String input = "stackoverflow.com";
    String firstCharactersResult = "";
    String lastThreeCharactersResult = "";

    if (input.length() > 3) {
        firstCharactersResult = input.substring(0, input.length() - 3);
        lastThreeCharactersResult = input.substring(input.length() - 3);

        textView.setText(HtmlCompat.fromHtml(firstCharactersResult + "<font color=\"red\">" + lastThreeCharactersResult + "</font>", 0));
    }

Если вы хотите изменить фон , это просто использовать 2 TextViews!Установите firstCharactersResult для первого TextView и установите lastThreeCharactersResult для второго TextView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...