Iniciar una nueva actividad sin animación de transición en android 1.6

Soy consciente de que a partir de la API de nivel 5 es posible especificar una bandera en la intención de impedir el normal animación ser aplicado cuando empiezo una nueva actividad:

myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

Sin embargo, mi pregunta es: ¿hay una manera de lograr lo mismo en una aplicación de apoyo a android 1.6?

InformationsquelleAutor Matt Colliss | 2010-12-16

5 Kommentare

  1. 20

    Usar este: getWindow().setWindowAnimations(0); dentro de la Activity que está empezando.

    • Gracias, ¿dónde esta línea, en la actividad yo soy de iniciar o en el que estoy empezando desde?
    • parece que no funciona en 2.2 :S
    • parece que no funciona en 2.3 también
  2. 51

    En las versiones más recientes, se desea anular la transición con 0,0 poco después de iniciar la actividad:

    Intent i = new Intent(this, YourNewActivity.class); 
    startActivity(i);
    overridePendingTransition(0,0);

    He probado esto en 2.1 y 4.0.3, que trabajó para mí. =)

    He encontrado en la documentación aquí

  3. 6

    Esta solución funcionó para mí (Android 2.2):

    Intent intent = new Intent(getContext(), YourClass.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    getContext().startActivity(intent);
    • ¿Por qué es esto votada abajo? Parece una buena solución…
    • Esto funcionó para mí en 4.0.3 – no estoy seguro de por qué es abajo-votaron… tal vez porque la pregunta por algo en Android 1.6?
    • Se hace un inversa de transición en la 2.3.5
  4. 5

    Para su INFORMACIÓN, yo estoy en 4.4.2 y estas son las únicas cosas que he encontrado que trabajo:

    Para evitar la apertura de la animación: en el lanzamiento de la actividad del onCreate(), agregar overridePendingTransition(0,0).

    Para evitar el cierre de animación: después de terminar(), llame inmediatamente a overridePendingTransition(0,0).

    Estos NO funcionan (al menos no en mi 4.4.2 construir): (1) llamar a getWindow().setWindowAnimations(0) en onCreate() (el paso de un número distinto de cero NO funciona, pero que es una fea hack ya que se espera una resId), y (2) llamar a overridePendingTransition(0,0) inmediatamente después de startActivity() — la animación está todavía presente.

  5. 0

    poner a continuación el código en onCreate de la Actividad:

    getWindow().setWindowAnimations(0);
    • ¿Por qué publicar una respuesta que ya existe?

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea