2014-09-09 2 views
0

Мне нужна помощь.Android: «Просмотр текста»?

Я хочу сделать подобную деятельность, но я не знаю, с чего начать.

enter image description here

В принципе, это как текстовые сообщения UI, с пользователями вопроса о праве и ответе на левом. Я просто хотел использовать список для простоты, но я не думаю, что он поддержит такую ​​структуру.

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

У кого-нибудь есть опыт работы с этим интерфейсом? Можете ли вы указать мне в любом направлении? Мне очень неприятно задавать такой странный вопрос, но я даже не знаю, как я буду говорить об этой ситуации в Google.

Заранее спасибо.

ответ

2

Что вы ищете, это ListView, где вы можете вернуть другой макет в зависимости от того, отправлено или получено сообщение. A ListView - это наиболее эффективная реализация для этого, потому что он идеально подходит для отображения потенциально большого набора данных без необходимости сохранять представление в памяти для каждой строки.

Это достигается за счет расширения BaseAdapter в приложении и опрокинув getItemViewType(), getViewTypeCount() и getView() методы (наряду со всеми другими методами, требуемых в ListView адаптер).

This - хороший учебник, который служит прохождением этого шаблона.

+0

Это должно сделать трюк! Большое спасибо. – Brayden

0

Вместо использования ListView вы можете программно конструировать виртуальный LinearLayout и добавлять TextView в каждую строку, вы можете установить выравнивание TextView в строках соответственно.

+0

Можете ли вы привести пример, который я могу прочитать? Я довольно новичок в разработке пользовательских интерфейсов для Android. Я не знаю, как изменять макеты во время работы программного обеспечения, только раньше. – Brayden

+0

«ListView» - лучшая реализация. Подумайте о том, что происходит, когда у вас много бит текста, идущего туда и обратно. «ListView» может перерабатывать объекты «Просмотр» и сохранять только в памяти для отображения на экране. Другие макеты потребуют от вас потенциального создания большого количества объектов «View», ведущих к раздуванию памяти. –

+0

Хорошо, в этом случае, как мне форматировать ListView, чтобы делать то, что я хочу? Лол. Мы просто пошли сюда полным кругом. – Brayden

Смежные вопросы