Кто-нибудь создал представление, которое принимает текст, изображение и позволяет тексту обтекать изображение?

Я имею в виду что-то вроде того, что задано здесь. Я вижу, что люди предлагают использовать staticlayout, но я не понимаю, как это решает проблему. Я также видел людей, предлагающих веб-просмотры, но это кажется глупым. Я хочу многоразовое представление, которое может принимать ввод XML, и я должен иметь возможность использовать его в ListView, не создавая веб-просмотр внутри каждой строки. Идеи?

У меня есть это, я рисую все сам, но я застрял в проблеме с нарушением слов.

Я также хотел бы, чтобы изображение было кликабельным, что у меня уже есть, но с той же функциональностью, что и statelistdrawables, к которым мы все привыкли. Должен ли я поддерживать состояние изображения в представлении и изменять то, что можно рисовать на основе этого?


person AmITheRWord    schedule 01.03.2011    source источник


Ответы (1)


Возможно, попробуйте этот ответ, используя WebView.

Редактировать: поиграв с getLineCount(), getLineLastVisible() и различными настройками многоточия, я пришел к выводу, что этого не должно было быть.

Теоретически вы можете использовать getLineCount() и getLineLastVisible() для измерения текста, который помещается в представление, и соответствующим образом заполнить второе представление переполнения. К сожалению, они на самом деле не имеют ничего общего с видимой (на экране) частью TextView, и TextView, который может отображать только 3 строки, с радостью сообщит о гораздо большем количестве строк в getLineCount(), если есть скрытые строки.

Я думаю, что общее решение этой проблемы потребует взлома вашей собственной ViewGroup (она будет содержать вставленное изображение или представление для компоновки вокруг) из частей TextView.java.

Краткий ответ: это непросто сделать, учитывая текущую структуру.

person Matthew Willis    schedule 01.03.2011
comment
Даже если я специально заявляю, что не хочу использовать WebView? Я не знаю, как сделать значок кликабельным в веб-просмотре и открыть новое действие. Я не думаю, что очень эффективно иметь до 50 WebView в списке. Я не знаю, можно ли отключить поведение WebView по умолчанию, когда дело доходит до прокрутки и масштабирования. Предполагается, что мы можем опираться на представления и расширять их, и я не думаю, что веб-представление — лучшее решение для этого, даже если оно выполняет свою работу наполовину. - person AmITheRWord; 01.03.2011
comment
Я думаю, вы правы в том, что вам нужно создать свой собственный View или ViewGroup. Я просто хочу, чтобы было больше документации или люди делали это чаще, чтобы у меня была отправная точка. Это то, что я начал делать, что вы можете видеть на снимке экрана. Думаю, мне просто придется продолжать идти по этому пути. Однако я оставлю вопрос открытым еще немного, если у кого-то есть опыт создания пользовательских представлений. - person AmITheRWord; 02.03.2011