Comenzando con API 14 puede usar este indicador SYSTEM_UI_FLAG_HIDE_NAVIGATION
en una vista dentro de su actividad para decirle al sistema que desea ocultar la barra de navegación hasta que haya interacción del usuario (pantalla táctil). Una vez que el usuario toca la pantalla, se muestra la barra.Escuche el primer evento TouchEvent al usar SYSTEM_UI_FLAG_HIDE_NAVIGATION
la actividad que estoy haciendo esto en toma alguna acción (se inicia una actividad separada) cuando el usuario toca la pantalla, antes de añadir la bandera arriba para mi opinión, esto funcionó a la perfección.
Después de añadir que la bandera el sistema intercepta la primera pantalla táctil y reacciona a ella, mostrando la barra de navegación. No es hasta el segundo toque que cualquiera de mis Vistas o mi Actividad están recibiendo un TouchEvents.
¿Alguien sabe de alguna manera que pueda configurar un oyente que me permita iniciar mi segunda actividad la primera vez que se toca la pantalla en lugar de tener que tocar dos veces al usar esta bandera de navegación oculta?
He intentado todo lo siguiente y ahora no recibo devoluciones de llamada a cualquiera de ellos cuando se toca la pantalla por primera vez para mostrar la barra de navegación.
@Override
public void onUserInteraction(){
Log.i(myTag, "INTERACT");
}
@Override
public boolean onGenericMotionEvent(MotionEvent me){
Log.i(myTag, "GENERIC");
return true;
}
//I thought maybe the size change would lead to a callback here. No dice though.
@Override
public void onWindowAttributesChanged(WindowManager.LayoutParams params){
Log.i(myTag, "WINDOW CHANGE");
}
@Override
public boolean dispatchTouchEvent(MotionEvent me){
Log.i(myTag, "TOUCH");
return true;
}
Nota: No estoy tratando de prevenir la barra de navegación de ser mostrado en el primer toque, sólo quiero también tomar alguna otra acción cuando se produce el evento.
¿Has probado ['View.OnSystemUiVisibilityChangeListener'] (http://developer.android.com/reference/android/view/View.OnSystemUiVisibilityChangeListener.html)? –
@JoshLee ¡No lo tenía y eso funciona! Muchas gracias. Publique eso como respuesta si quiere, así puedo aceptarlo. – FoamyGuy