Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Работаю
 Аватар для mikl35
6 / 5 / 0
Регистрация: 30.05.2014
Сообщений: 228

Как вставить несколько изображений в textView

18.05.2015, 12:03. Показов 2878. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, скажите как вставить несколько иконок в textView, то есть в нужные позиции в тексте. При вставке одной иконки все нормально, но при вставке нескольких все искажается. Я делаю следующим методом для одной иконки:
Java
1
2
3
4
5
6
7
8
9
10
TextView txtV = (TextView) findViewById(R.id.txt);
        // берем встроенную иконку share для создания объекта ImageSpan
        ImageSpan is = new ImageSpan(this, R.drawable.abc_ic_menu_share_holo_light,
                ImageSpan.ALIGN_BASELINE);
        // создаем из строкового ресурса объект типа SpannableString
        SpannableString text = new SpannableString(getResources().getString(R.string.some_text));
        // заменяем символы в строке с 3-позиции до 4 (т.е. один символ) иконкой, отсчет с 0
        text.setSpan(is, 3, 4, Spannable.SPAN_COMPOSING);
        // добавляем текст в TextView
        txtV.setText(text);
если добавить еще text.setSpan(is, 8, 9, Spannable.SPAN_COMPOSING); то происходит искажение.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2015, 12:03
Ответы с готовыми решениями:

Как вставить иконку в TextView?
Здравствуйте!Как в TextView вместо слова "City" вставить маленькую иконку?Типа картинка и рядом название города. // Get the city ...

Как извлечь информацию из EditText и вставить в TextView?
Здравствуйте! Кто знает, подскажите пожалуйста. Ситуация такая: есть layout со словами:"Привет,"(первое...

Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio?
Помогите вывести текст в textview при нажатии на одну и ту же кнопку ? Нажал - изменился текст, опять нажал и тд

4
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
18.05.2015, 13:15
mikl35, можете попробовать использовать WebView. Я пробовал как-то через TextView, там одни проблемы.
0
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
18.05.2015, 13:20
mikl35, вот так попробовал и всё работает:

Java
1
2
3
4
5
6
7
8
9
10
11
TextView txtV = (TextView) findViewById(R.id.txt);
        // берем встроенную иконку share для создания объекта ImageSpan
        ImageSpan is = new ImageSpan(this, R.drawable.abc_ic_menu_share_holo_light,
                ImageSpan.ALIGN_BASELINE);
        ImageSpan is2 = new ImageSpan(this, R.drawable.abc_ic_menu_share_holo_light,
                ImageSpan.ALIGN_BASELINE);
        SpannableString text = new SpannableString(getResources().getString(R.string.some_text));
        
        text.setSpan(is, 3, 4, Spannable.SPAN_COMPOSING);
        text.setSpan(is2, 8, 9, Spannable.SPAN_COMPOSING);
        txtV.setText(text);
Метод setSpan, как пишут на developer.android.com, прикрепляет объект или сдвигает уже прикреплённый.
0
Работаю
 Аватар для mikl35
6 / 5 / 0
Регистрация: 30.05.2014
Сообщений: 228
18.05.2015, 13:37  [ТС]
Все работает если создать два ImageSpan, но мне нужно вставлять в текст смайлики и не известно сколько их будет.

Добавлено через 1 минуту
Может попробовать создать массив динамический ImageSpan и в него вкладывать смайлики а потом уже прикреплять к тексту через цикл.
0
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
18.05.2015, 13:48
Лучший ответ Сообщение было отмечено mikl35 как решение

Решение

Тонкости реализации на ваш вкус. Вот например так можно:

Java
1
2
3
4
5
6
7
8
9
10
11
12
SpannableString text = new SpannableString(getResources().getString(R.string.some_text));
insertSmiles(text , 4, 2);
insertSmiles(text , 23, 2);
...
 
// тра та та
 
void insertSmiles(SpannableString text, int pos, int len) {
        ImageSpan is = new ImageSpan(this, R.drawable.abc_ic_menu_share_holo_light,
                ImageSpan.ALIGN_BASELINE);
        text.setSpan(is, pos, pos+len, Spannable.SPAN_COMPOSING);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.05.2015, 13:48
Помогаю со студенческими работами здесь

Загрузка изображений в TextView из HTML
Здравствуйте ) Достаточно частый вопрос. Но все усложняется тем, что это все находится в TextView. Имеется код: arrayList...

Не получается вставить текст в TextView
Создаю список из БД, при этом пытаюсь найти TextView в другом Layout (item.xml), чтобы вставить в него текст. Почему при запуске...

Как подравнять несколько изображений в одно
Здравствуйте, у меня есть несколько изображений сдвинутые вверх,влево,вправо и вниз. Как мне их всех подравнять в одно(например в сторону...

Как объединить несколько изображений в одно?
Здравствуйте! Стоит задача сделать программу которая будет при загрузке в неё изображений (JPG), делать из них одно изображение (JPG)...

Как загружать в БД сразу несколько изображений?
Как загрузить в базу данных сразу несколько изображений в одну категорию. При выводе этих значений из бд, достается только одно изображение


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru