Pregunta

Me he encontrado algunas dificultades con la implementación de un diálogo de progreso personalizado. A pesar de que un revestimiento táctil intercepta los eventos que el usuario puede seguir funcionando la rueda de desplazamiento y haga clic en los elementos que se supone que son personas con discapacidad.

¿Hay alguna forma de evitar esto?

Edit: he aquí una solución

//=====================================================================================
protected void showProgressIndicator()
{
    progressIndicator_.show();
}

//=====================================================================================
@Override
public boolean onTrackballEvent(MotionEvent event)
{
    return progressIndicator_.getVisibility() == View.VISIBLE;
}

//=====================================================================================
protected void hideProgressIndicator()
{
    progressIndicator_.hide();
}

Un entonces en el método espectáculo

//=====================================================================================
public void show()
{
    setVisibility(VISIBLE);
    if (animationHandler_ != null)
        return;

    animationHandler_ = new Handler();
    animationHandler_.post(animateTask_);
    requestFocus();
}
¿Fue útil?

Solución

onTrackballEvent () método . A continuación, intente volver directamente cierto en el método sin hacer nada en ella. Esto debe matar al caso de inmediato.

Otros consejos

Con el fin de evitar que su trackball hacer nada mientras que su actividad está en la pantalla, añadir el siguiente código a la subclase de actividad.

@Override 
public boolean dispatchTrackballEvent(android.view.MotionEvent ev) {
  return true;
};

He probado esto en un Google Nexus Uno de los teléfonos y funciona bien.

onTrackballEvent Ignorar () no funciona. Trate anulando dispatchTrackballEvent (), no hacer nada en ella simplemente return true;.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top