Android разработка: Красивые сообщения с BubbleView

Использование библиотеки BubbleView

Для создания красивого дизайна сообщений используется библиотека BubbleView, доступная на GitHub (ссылка в описании). Библиотека позволяет создавать блоки сообщений с треугольником, указывающим направление сообщения.

Установка библиотеки

Для установки BubbleView:

  1. Добавление зависимости: Добавьте следующую строку в файл build.gradle (модуль app) в секцию dependencies, заменив … на актуальную строку из описания:

    implementation '...'
  2. Синхронизация проекта: Синхронизируйте проект в Android Studio.

Модификация файла item_list.xml

В файле item_list.xml, отвечающем за дизайн элемента списка, замените TextView на BubbleTextView из библиотеки BubbleView:

<com.github.library.BubbleTextView
    ... />

Добавьте следующие атрибуты:

  • android:textColor="#FFFFFF" — белый цвет текста.
  • android:padding="10dp" — внутренние отступы 10dp со всех сторон.

Настройка внешнего вида BubbleView

Для работы со стрелкой добавьте пространство имён:

xmlns:app="http://schemas.android.com/apk/res-auto"

Используйте следующие атрибуты:

  • app:angle="8dp" — скругление углов (8dp). 0 — квадрат, большие значения — более округлые углы.
  • app:arrowWidth="8dp" — ширина стрелки (8dp).
  • app:arrowHeight="10dp" — высота стрелки (10dp).
  • app:arrowPosition="10dp" — отступ стрелки от верха (10dp).
  • app:arrowLocation="left" — расположение стрелки (слева). Возможные значения: left, right, top, bottom.
  • app:bubbleColor="#000000" — цвет блока (чёрный). Цвет можно выбрать с помощью онлайн-инструмента, например, Color Picker.
  • app:arrowCenter="false" — центрирование стрелки. true — стрелка центрируется.

Изменение MainActivity.java

В MainActivity.java убедитесь, что massageText является экземпляром BubbleTextView:

massageText = findViewById(R.id.massageText);

Настройка ListView

В MainActivity.java добавьте отступы к ListView:

listView.setPadding(10, 10, 10, 10);

Настройте прокрутку снизу вверх:

listView.setStackFromBottom(true);
listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);

В результате сообщения будут отображаться в красивых блоках со стрелками, обеспечивая привлекательный интерфейс. Экспериментируйте с атрибутами для достижения оптимального результата.

Что будем искать? Например,программа