Red de conocimiento informático - Conocimiento del nombre de dominio - La diferencia entre la animación de la ventana de opciones del desarrollador y la animación de transición

La diferencia entre la animación de la ventana de opciones del desarrollador y la animación de transición

La animación de ventana y la animación de transición se refieren a la animación de visualización al cambiar de ventana (actividad o diálogo). El alcance de la animación de ventana es relativamente amplio e incluye actividad y diálogo, mientras que la animación de transición solo incluye actividad. El primer método es llamar al método overridePendingTransition. Recuerde llamarlo antes de startActivity. También puede usar startActivity(Intent, Bundle) para configurar el paquete. Esto se puede hacer en todos los contextos, mientras que overridePendingTransition solo se puede implementar dentro de la aplicación actual. El método específico es: ActivityOptions.makeCustomAnimation(context, enterResId, exitResId).toBundle(). Este método requiere que el sistema sea 4.1 o posterior. Ambos métodos implementan animación de transición. Los métodos anteriores sólo pueden animar actividades. Para animar el diálogo, debe utilizar la animación de ventana. El método consiste en establecer el estilo y luego dialog.getWindow().setWindowAnimations(R.style.MyStyle) o dialog.getWindow().getAttributes().windowAnimations = R.style.MyStyle para que se pueda reproducir la animación; cuando aparece el cuadro de diálogo. La animación de ventana también se puede aplicar a actividades. La configuración de estilo es la misma y el código es similar. Puede llamar al método getWindow directamente en la actividad. Hay otra forma de crear estilo: esta configuración es una animación de transición, que solo es útil para actividades, no para diálogos. (Además de usar getWindow para configurar recursos de animación, también puede agregar un elemento a su tema. El nombre del elemento es android: windowAnimationStyle y luego especificar uno de los estilos anteriores). En principio, la animación de ventana y la animación de transición son en realidad el sistema que lee los recursos de animación correspondientes al cambiar de ventana. Todos los métodos anteriores esencialmente reemplazan esos recursos. Lo que los desarrolladores deben afrontar es cómo elegir, ya sea animación de ventana o animación de transición. Si es un cuadro de diálogo, solo la animación de la ventana es opcional y solo se puede realizar mediante estilo. Si es una actividad, ambas animaciones están bien, pero en la mayoría de los casos se usa la animación de transición porque se puede implementar fácilmente a través de API como overridePendingTransition. Si desea aplicar animación a toda la actividad, es más conveniente usar estilo. En cuanto al uso, ¿cuál de los estilos anteriores en realidad no tiene ningún impacto? En el desarrollo real, no se recomienda utilizar los métodos anteriores, porque la configuración del teléfono puede desactivar estas dos animaciones (en las opciones de desarrollador) y no se puede garantizar que la aplicación pueda mostrar animaciones. Para la animación de actividades, puede iniciar una animación normal después de que se inicialice la nueva actividad, pero este método requiere que espere hasta que se inicialice la vista relevante de la ventana, pero es impredecible cuándo terminará. Esto está relacionado con el rendimiento de. el teléfono móvil, por lo que puedes configurar un temporizador para jugar, pero no hay otra solución para el diálogo.