#android #kotlin #dialog #android-alertdialog #android-jetpack-compose
Вопрос:
Кажется невозможным изменить ширину диалогового окна с помощью Compose. Самое близкое, к чему я подошел с изменением ширины диалогового окна, — это сквозное DialogProperties.usePlatformDefaultWidth
. Если установить значение false, диалоговое окно заполнит экран, но есть ли способ использовать пользовательскую ширину?
Ответ №1:
Использование может определить пользовательский AlertDialog
параметр с помощью конструктора с text
title
buttons
параметрами и , применяя размер (например, с Modifier.size
помощью ) и переопределяя поведение по умолчанию с помощью usePlatformDefaultWidth = false
:
AlertDialog(
onDismissRequest = { /*TODO*/ },
title = {
Text(text = "Title")
},
text = {
Text(
"This area typically contains the supportive text "
"which presents the details regarding the Dialog's purpose."
)
},
buttons = {},
properties = DialogProperties(
usePlatformDefaultWidth = false
),
modifier = Modifier.size(200.dp,250.dp)
)
Комментарии:
1. Это можно использовать только для установки размера, меньшего ширины платформы по умолчанию, но не большего, чем она
2. Я попытался установить значение usePlatformDefaultWidth равным false, и это сработало. Я могу увеличить или уменьшить размер по сравнению с размером по умолчанию
3. Я думаю, что для работы модификатора вам нужно переопределить значение по умолчанию
usePlatformDefaultWidth
(которое естьtrue
) и установить егоfalse
равным . Затем вы можете увеличить (или уменьшить) размер сmodifier
помощью .4. @Кофи Вы правы насчет увеличения размера обновленного ответа.