Пользовательский Spannable = ImageSpan + BackgroundColorSpan + ClickableSpan - PullRequest
3 голосов
/ 01 марта 2012

Я хотел бы иметь собственный класс Spannable, который как-то сочетает в себе поведение ImageSpan, BackgroundColorSpan и ClickableSpan.В общем, что-то вроде меток или пузырьков плюс обработчик кликов.Или другими словами: мне нужно поместить значок перед словом и нарисовать собственный фон за этим словом.Я прыгнул через ReceipentEditor и другие классы , но пока не смог найти окончательный намек.

Я пытался добиться этого путем расширения DynamicDrawableSpan, но этозаменить текст, и я не хочу потрудиться рисовать текст вручную.Каков наилучший способ реализовать такой кастом Spannable?Или есть лучший способ без использования Spannables?Любые советы или подсказки приветствуются!

1 Ответ

2 голосов
/ 20 апреля 2012

Я реализовал нечто подобное.В моей реализации, щелкнув на пузыре, он будет удален.Для этого я просто использую ImageSpan для TextView.Затем добавьте OnClickListener в TextView.

Внутри OnClickListener получите позицию курсора с помощью getSelectionStart ().Определите, с каким ImageSpan связана позиция.Перестройте и перерисовайте TextView без этой записи ImageSpan.

...