Cuadro de diálogo Hoja inferior en pantalla completa.Este artículo es una forma directa … | Autor Owais Idris | Julio 2021
lateinit var bottomSheetBehavior: BottomSheetBehavior<Disposición del marco>
lateinit var bi: LayoutDialogBinding
Diversión privada getWindowHeight() = Recursos.Indicador de pantalla.height píxeles
Anular la diversión enCreateView(
Inflador: LayoutInflater,
Contenedor: ViewGroup? ,
Estado de la instancia guardada: ¿Incluida?
): ¿Puntos de vista?
bi = LayoutDialogBinding.inflate(Inflador de diseño)
bi.btnClose.setOnClickListener
diálogo? .cancelar()
Vuelve al doble.raíz
Cubre la diversión al principio()
Super inicio()
// Obtener la hoja inferior del sistema
vista val: FrameLayout = diálogo? .findViewById(tarjeta de identificacióndesign_bottom_sheet)!!
// Establecer la altura de la vista
vista.Parámetros de diseño.height = ViewGroup.LayoutParams.MATCH_PARENT
// Obtener comportamiento
val behavior = BottomSheetBehavior.from(vista)
// Establecer la altura de la ventana emergente
comportamiento.Altura de la perspectiva = Obtener la altura de la ventana()
// Establecer el estado expandido
comportamiento.estado = Comportamiento de la hoja de trabajo inferior.ESTADO_EXPANDIDO
Behavior.addBottomSheetCallback(Objeto: BottomSheetBehavior.BottomSheetCallback()
Anular la diversión enStateChanged(bottomSheet: view, newState: Int)
en caso(newState == BottomSheetBehavior.STATE_COLLAPSED)
// despedir () porque da el mismo comportamiento
Cubra la diversión en Slide(bottomSheet: view, slideOffset: float)
)
}