У меня есть 2-3 переключателя в моем диалоговом окне предупреждений, но размер диалогового окна не оборачивает их, хотя экран может легко их разместить, вместо этого помещая их в небольшой макет с прокруткой.

Я сослался на этот вопрос. Как контролировать ширину и высоту диалогового окна предупреждений по умолчанию в Android? и попытался, возможно, из ответов увеличить высоту диалогового окна предупреждения, но безуспешно. Результат был таким, когда я попытался установить размер макета.

Код:
AlertDialog.Builder(requireContext()).setTitle("Choose Address")
.setSingleChoiceItems(addresses, selectedItemIndex) { _, which ->
selectedItemIndex = which
}.setPositiveButton("Confirm Address") { dialog, _ ->
confirmBooking(selectedItemIndex + 1, user)
dialog.dismiss()
}.setNeutralButton("Cancel") { dialog, _ ->
dialog.dismiss()
}.show()
.window?.setLayout(
(resources.displayMetrics.widthPixels * 0.9).toInt(),
(resources.displayMetrics.heightPixels * 0.7).toInt()
)
Я хотел использовать MaterialAlertDialog, но это также дало те же результаты. Я не хочу использовать настраиваемый диалог. Как решить эту проблему с высотой?
Пожалуйста, прокомментируйте, если требуется какая-либо другая информация. Буду признателен за любую помощь. Заранее спасибо.
Решение проблемы
Если вы хотите, чтобы размер диалога рос с высотой содержимого. Тогда это в основном содержание обертки. Вы можете подать заявку ViewGroup.LayoutParams.WRAP_CONTENTна свой рост.
Ниже приведена небольшая модификация вашего фрагмента кода:
val addresses = arrayOf("1", "2", "3","4","5","6")
var selectedItemIndex = 0
private fun showDialog() {
AlertDialog.Builder(this).setTitle("Choose Address")
.setSingleChoiceItems(addresses, selectedItemIndex) { _, which ->
selectedItemIndex = which
}.setPositiveButton("Confirm Address") { dialog, _ ->
dialog.dismiss()
}.setNeutralButton("Cancel") { dialog, _ ->
dialog.dismiss()
}.show()
.window?.setLayout(
(resources.displayMetrics.widthPixels * 0.9).toInt(),
ViewGroup.LayoutParams.WRAP_CONTENT
)
}
Выход:

Комментариев нет:
Отправить комментарий