Настройка панели кнопки
Для реализации пользовательских действий или изменения текущего макета кнопки можно взаимодействовать с API собственной библиотеки пользовательского интерфейса. Этот API включает определение настраиваемых конфигураций кнопок, указание действий и управление текущими действиями панели кнопок. API предоставляет методы для добавления пользовательских действий и удаления существующих кнопок, которые доступны через простые вызовы функций.
Эта функция обеспечивает высокую степень настройки и гарантирует, что пользовательский интерфейс остается согласованным и согласованным с общей структурой приложения.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Развернутый ресурс Служб коммуникации. Создайте ресурс Служб коммуникации.
- Маркер доступа пользователя для включения клиента для вызовов. Получите маркер доступа пользователя.
- Необязательно. Завершение краткого руководства по началу работы с составными компонентами библиотеки пользовательского интерфейса.
Настройка функции
Удалить кнопки
CallCompositeCallScreenControlBarOptions
позволяет гибко настраивать панель кнопок, удаляя определенные кнопки, такие как камера, микрофон и звуковые элементы управления. Этот API позволяет настроить пользовательский интерфейс в соответствии с конкретными требованиями приложения и дизайном пользовательского интерфейса. Просто установите visible
или enabled
false
установите переключатель для скрытия CallCompositeButtonViewData
или отключения кнопки.
val controlBarOptions = CallCompositeCallScreenControlBarOptions()
val cameraButton = CallCompositeButtonViewData()
.setVisible(false)
controlBarOptions.setCameraButton(cameraButton)
val callScreenOptions = CallCompositeCallScreenOptions()
.setControlBarOptions(controlBarOptions)
val localOptions = CallCompositeLocalOptions()
.setCallScreenOptions(callScreenOptions)
val callComposite = CallCompositeBuilder()
.build()
callComposite.launch(context, locator, localOptions)
Кнопка может быть обновлена после запуска составного вызова.
Добавление настраиваемых действий
Call composite
использует значки пользовательского интерфейса Fluent. Вы можете скачать значки непосредственно из репозитория GitHub пользовательского интерфейса Fluent и включить их в проект по мере необходимости. Этот подход гарантирует согласованность визуальных элементов во всех элементах пользовательского интерфейса, повышая общий интерфейс пользователя.
val controlBarOptions = CallCompositeCallScreenControlBarOptions()
controlBarOptions.setCustomButtons(
listOf(
CallCompositeCustomButtonViewData(
"customButtonId",
R.drawable.my_button_image,
"My button",
fun(it: CallCompositeCustomButtonClickEvent) {
// Process my button onClick
},
)
)
)
val callScreenOptions = CallCompositeCallScreenOptions()
.setControlBarOptions(controlBarOptions)
val localOptions = CallCompositeLocalOptions()
.setCallScreenOptions(callScreenOptions)
val callComposite = CallCompositeBuilder()
.build()
callComposite.launch(context, locator, localOptions)
Как и Call composite
предоставленные кнопки, пользовательские кнопки обновляются после запуска.
Удаление или отключение кнопок
CallScreenControlBarOptions
позволяет гибко настраивать панель кнопок, удаляя определенные кнопки, такие как камера, микрофон и звуковые элементы управления. Этот API позволяет настроить пользовательский интерфейс в соответствии с конкретными требованиями приложения и дизайном пользовательского интерфейса. Просто установите visible
или enabled
false
установите переключатель для скрытия ButtonViewData
или отключения кнопки.
let cameraButton = ButtonViewData(visible: false)
let callScreenControlBarOptions = CallScreenControlBarOptions(
cameraButton: cameraButton
)
let callScreenOptions = CallScreenOptions(controlBarOptions: callScreenControlBarOptions)
let localOptions = LocalOptions(callScreenOptions: callScreenOptions)
let callComposite = CallComposite(credential: credential)
callComposite.launch(locator: .roomCall(roomId: "..."), localOptions: localOptions)
Кнопка может быть обновлена после запуска составного вызова.
cameraButton.visible = true
Добавление настраиваемых действий
Call composite
использует значки пользовательского интерфейса Fluent. Вы можете скачать значки непосредственно из репозитория GitHub пользовательского интерфейса Fluent и включить их в проект по мере необходимости. Этот подход гарантирует согласованность визуальных элементов во всех элементах пользовательского интерфейса, повышая общий интерфейс пользователя.
let customButton = CustomButtonViewData(image: UIImage(named: "...")!,
title: "My button") {_ in
// Process my button onClick
}
let callScreenControlBarOptions = CallScreenControlBarOptions(
customButtons: [customButton]
)
let callScreenOptions = CallScreenOptions(controlBarOptions: callScreenControlBarOptions)
let localOptions = LocalOptions(callScreenOptions: callScreenOptions)
let callComposite = CallComposite(credential: credential)
callComposite.launch(locator: .roomCall(roomId: "..."), localOptions: localOptions)
Как и Call composite
предоставленные кнопки, пользовательские кнопки обновляются после запуска.
customButton.enabled = true