Как изменить ширину диалогового окна в Android compose

#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. @Кофи Вы правы насчет увеличения размера обновленного ответа.