Olá, Ricardo.
Tudo bem?
No seu caso, parece que o ScrollView
dentro do AlertDialog
não está funcionando corretamente em dispositivos com telas menores. Vamos tentar resolver isso!
Aqui está um exemplo de como você pode estruturar seu layout personalizado para o AlertDialog
com ScrollView
:
- Crie um layout XML personalizado para o seu
AlertDialog
. Vamos chamar de dialog_custom.xml
.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<!-- Seu conteúdo aqui -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Título do Dialog" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Digite algo" />
<!-- Outros componentes -->
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Botão 1" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Botão 2" />
</LinearLayout>
</ScrollView>
- No seu código Kotlin, configure o
AlertDialog
para usar esse layout personalizado.
val dialogView = layoutInflater.inflate(R.layout.dialog_custom, null)
val dialog = AlertDialog.Builder(this)
.setView(dialogView)
.setPositiveButton("OK") { dialog, which ->
// Ação do botão OK
}
.setNegativeButton("Cancelar") { dialog, which ->
// Ação do botão Cancelar
}
.create()
dialog.show()
Certifique-se de que o ScrollView
está configurado corretamente no seu layout XML, especialmente com android:fillViewport="true"
, para garantir que ele ocupe todo o espaço disponível e permita o scroll.
Isso deve resolver o problema.
Qualquer coisa manda aqui de novo. Bons estudos.