Использование компонентов Chip, ChipGroup, MaterialButton и MaterialCardView из Android Support Library 28

В марте этого года Google анонсировала выпуск preview-версии Android P. Вместе с этим они также выпустили альфа-версию библиотеки поддержки: Android Support Library получила новое обновление под номером 28.0.0 Alpha 1, которое добавило новые возможности и компоненты.

Примечание: на данный момент версия библиотеки является предварительной и служит для ознакомления с preview-версией Android P.

Для того, чтобы посмотреть нововведения самим, нужно выполнить следующие действия:

  1. Установить версию Android Studio 3.1 или выше. На данный момент последней версией является 3.2 Canary 8, доступная в dev-канале.
  2. В build.gradle модуля приложения нужно указать последнюю версию SDK.
    android {
       compileSdkVersion 'android-P'
       defaultConfig {
           targetSdkVersion 'P'
       }
    }
    
  3. Использовать эмулятор с Android P.

Chip и ChipGroup

Chip представляет собой совокупность объектов в небольших формах. Примером таких блоков являются контакты.

Chip может использоваться для различных типов объектов, включая текст, фотографии, контакты и иконки.

Нажатие на него открывает подробную информацию (в карточке или в полноэкранном виде) или отображает меню с действиями, доступными для этого объекта.

Chip может быть удаляемым и неудаляемым. В случае с удаляемым у него будет отображаться значок удаления.

Несколько компонентов Chip можно объединять в одном контейнере, называемом ChipGroup.

С помощью чипов можно предоставлять контактную информацию в удобном виде. Например, при отправке текстовых сообщений их можно отображать в поле “Кому”, когда пользователь начинает вводить имя контакта и выбирает нужный.

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

MaterialButton и MaterialCardView

MaterialButton является наследником класса AppCompatButton и предоставляет дополнительные возможности по изменению (кастомизации) кнопки.

В частности, кнопкам можно задавать цвет границы и её ширину, радиус углов (как у CardView) и различные атрибуты, взятые у CardView. В результате можно легко создавать красивые кнопки для своих приложений.

 

MaterialCardView, как несложно догадаться, является наследником CardView и имеет не так много нового по сравнению с MaterialButton. Аналогично MaterialButton, можно задавать для карточек цвет границы и её ширину.

BottomAppBar

BottomAppBar является расширением Toolbar, представляя собой компромисс для пользователей, которым неудобно пользоваться тулбаром.

Он создаётся внизу экрана со своеобразной выемкой для FloatingActionButton. Ей можно настраивать радиус углов, диаметр, а также отступ для FloatingActionButton. Располагать кнопку можно либо в центре (FAB_ALIGNMENT_MODE_CENTER), либо в правом углу (FAB_ALIGNMENT_MODE_END).

Таким образом, можно размещать меню внизу экрана, что позволяет лучше работать с приложением.

Однако, следует отметить несколько моментов:

  1. Не вызывайте setSupportActionBar(), если у вас есть BottomAppBar, поскольку метод сломает его.
  2. Чтобы изменить цвет фона, нужно использовать app:backgroundTint вместо setBackground() из-за внутреннего управления фоном.
  3. Вызов setTitle() и setSubtitle() не будут иметь эффекта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *