2012-04-21 3 views
0

Я хочу, чтобы каждый раз, когда пользователь возвращал данные из HttpGet, я хочу, чтобы он мог добавлять текстовые сообщения, чтобы он выглядел почти идентично пользовательскому интерфейсу текстовых сообщений Android по умолчанию. Я в порядке со всем кодом, мне просто нужен способ создания пользовательского интерфейса и создания другого текстового шара каждый раз, когда данные возвращаются из запроса HttpGet.SMS-воздушные шары/длинные чаты для чата

Спасибо огромное за ответы на эти вопросы, и я уверен, что есть простой способ сделать это, но я не нашел пути, используя «ole Google».

ответ

1

я делаю что-то подобное для моего приложения я делаю следующее для ее достижения:

  1. Вам нужно будет на 9-Patch-Image (растяжению PNG см here), который представляет пузырь. Вы хотите сделать часть растяжимой, которая не включает углы пузыря. Вы можете создавать пузырьки, используя редактор изображений по вашему выбору (я бы рекомендовал редактор векторной графики, такой как Inkscape). Затем используйте редактор 9-Patch, включенный в Инструменты разработчика Android, чтобы преобразовать изображение PNG в 9-патч-PNG.
  2. Создайте собственный файл макета для одного пузыря. Создайте в нем текстовое представление и добавьте свой пузырь в качестве фона. (android:background)
  3. Используйте arraylist с пользовательским адаптером, чтобы раздуть и заполнить ваши предметы.

До сих пор это даст вам одинаковые пузыри в качестве фона для всех сообщений. Если вы хотите получить фантазию, вы можете создать различные пузыри для участников и использовать метод setBackgroundResource в своем адаптере, чтобы установить правильный фон.

Кроме того, если вы хотите выровнять их влево или вправо, как в приложении сообщения, вам нужно будет добавить проставки слева и справа от вашего TextView в файле макета. Я использовал FrameLayouts с фиксированной шириной. Обязательно установите их видимость на GONE. Как и при замене различных цветов пузырьков, просто установите видимость левой/правой проставки.