SIDButton
Стандартная кнопка для входа через SID. Кнопка сама подставляет иконку сбркаа, текст и его стиль. Высота кнопки органичена интервалом 28dp-64dp, при установке высоты, выходящей за пределы интервала, высота будет автоматически приведена в соответствующей границе. Ширина кнопки имеет мимнимальное значение, исходя из размеров выбранного текста, логотипа и отступов. Максимальная ширина кнопки не ограничена.
По умолчанию кнопка отображается без скруглений углов, для изменения скругления кнопки укажите в xml атрибут кнопки app:buttonCornerRadius, можно выбрать значения corner_small, corner_large или указать собственное закругление
Цвет текста/фона кнопки и сам текст определяется атрибутами
- app:buttonType (значения white_type и default_type), если атрибут не указать, кнопка будет по умолчанию иметь тип default_type
- app:buttonText Соответствие значений атрибутов и текста: login_short - SID login - Войти по SID continue_on - Продолжить cо SID fill - Заполнить cо SID Если атрибут не указать, кнопка по умлочанию будет иметь текст, соответствующий значению login. Указать другой текст на кнопке нельзя
Иконка сбркаа автоматически меняет свой цвет и размер в зависимости от значения атрибута app:buttonType и установленной высоты кнопки
Для кнопки с типом white_type существует возможность указать свой цвет окантовки через атрибут app:buttonStrokeColor. Формат значения - color По умолчанию для кнопки с типом white_type значение цвета окантовки #767676 Для кнопки с типом default_type установка атрибута app:buttonStrokeColor будет проигнорирована
allCaps всегда выключен (т.е. текст не будет заглавными буквами)
SIDButtonModel Добавлена для партнеров, которые не могут работать с View. Все механизмы остались такие же, как при работе с View, но теперь мы проверяем значения из SIDButtonModel, если они пустые берем из верстки
Xml атрибуты
| Атрибут | Формат | Описание |
|---|---|---|
| sidButtonType | ButtonType | Тип кнопки |
| sidButtonText | ButtonText | Текст кнопки |
| sidButtonCornerRadius | DisplayMetrics | Радиус скругления кнопки |
| sidButtonStrokeColor | Color | Цвет окантовки кнопки для white_type |
| sidButtonLoader | Boolean | Состояние загрузки, отображение анимации загрузки на кнопке |
Конструкторы
SIDButton(context, attributeSet, defStyleAttr, sidButtonModel)
SIDButton(context, attributeSet, defStyleAttr)
SIDButton(context, attributeSet)
SIDButton(Context)
Методы
setLoaderState
public fun setLoaderState(isLoading: Boolean)
Установить актуальный статус индикатора загрузки в кнопке. В слуачае установки статуса загрузки стартует анимация, текст в кнопке зануляется. В случае отмены статуса загрузки анимация останавливается, в кнопке отображается стандартный/персонализированный текст, либо продолжается анимация до завершения работы процедуры персонализации
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| isLoading | Да | Boolean | true, если необходимо отобразить на кнопке статус загрузки, false - в противном случае |
Методы
setHideObserver
public fun setHideObserver(observer: Observer)
Установить наблюдатель за результатом проверки по черному списку партнеров. Если по результатам проверки будет выяснено, что кнопка должна быть скрыта, у всех установленных Observer
будет вызван метод Observer.update для обработки события на стороне партнера
sidButton.setHideObserver { _, _ ->
// Логика скрытия кнопки в UI
}
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| observer | Да | Observer | для обработки события на стороне партнера |