Modo Picture-in-Picture (PiP) en Android | de Shaik Ahron | enero 2023

modo pippepita es un tipo especial de Modo multiventana Se utiliza principalmente para la reproducción de vídeo. Le permite al usuario ver un video en una pequeña ventana anclada en una esquina de la pantalla mientras navega entre aplicaciones o explora contenido en la pantalla principal.

Podemos agregar compatibilidad con Pip en unos pocos pasos creando una aplicación de visualización de tiempo simple:

Mira mi repositorio atajoPaso 1: Crear un nuevo proyecto de Android PipModeDemoPaso 2:Debe habilitar el modo pip en la actividad deseada. Especifique también que su actividad maneje los cambios de configuración de diseño para que su actividad no se reinicie cuando se produzcan cambios de diseño durante las transiciones del modo PiP.Paso 3: Crea el diseño de tu actividad.Etapa 4: Ahora tenemos que crear uno. PictureInPictureParams constructor para inicializar y actualizar la actividad en modo pip. Dependiendo de si el temporizador se ha puesto en marcha o no, cambiamos el nuestro acción remota y tenemos que manejar las acciones con un radio receptor. y para cambiar al modo pip en Android 12 y luego agregar this.setAutoEnterEnabled(true)private val broadcastReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { if ( intent == null | | intención.acción != ACTION_TIMER_CONTROL) {return}when (intent.getIntExtra(CONTROL_TYPE, 0)) {CONTROL_TYPE_START_OR_PAUSE -> viewModel.startOrPause()}}}Paso 6: Ahora necesitamos saber cuándo la actividad ha cambiado al modo pip o no. así que usa onPictureInPictureModeChanged podemos decidir qué vista hacer visible o invisible. override fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean,newConfig: Configuration) {super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)if (isInPictureInPictureMode) {binding.startOrPause.visibility = View.GONE} else {binding .startOrPause.visibility = View.VISIBLE}}Paso 7: Ahora, para Android 11 y versiones anteriores, debe habilitar el modo pip cuando el usuario camina y pasa al fondo. override fun onUserLeaveHint() {super.onUserLeaveHint()viewModel.started.observe(this) { iniciado ->binding.startOrPause.setImageResource (if (iniciado) R.drawable.ic_pause_24dp else R.drawable.ic_play_arrow_24dp)enterPictureInPictureMode(updatePictureInPictureParams(iniciado ))}}usando onUserLeaveHint() devolución de llamada puede habilitar el modo pip. Ahora, para cambiar al modo pip, debe llamar al método entrarImagenEnModoImagen()Paso 8: Crear Ver modelo es bastante fácil Aquí solo creamos uno trabaja y abortar o iniciar dependiendo de la elección del usuario. Salida

Gracias por leer

Deja una respuesta

Tu dirección de correo electrónico no será publicada.