youtubers tesis sobre sirve resumida que para investigaciones investigacion historia caracteristicas android android-animation android-transitions

android - tesis - Hacer actividad animar de arriba a abajo



tesis sobre youtube pdf (4)

Debe definir sus animaciones "deslizar hacia arriba" a partir de la pregunta vinculada, y algunas animaciones nuevas "deslizar hacia abajo" que invierten el proceso.

Las partes importantes de las animaciones a mirar son los valores fromYDelta y toYDelta . Estos definen las posiciones Y (de la parte superior de su vista) al inicio y al final de las animaciones.

slide_in_up.xml

<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_longAnimTime" android:fromYDelta="100%p" android:toYDelta="0%p" />

slide_out_up.xml

<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_longAnimTime" android:fromYDelta="0%p" android:toYDelta="-100%p" />

slide_in_down.xml

<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_longAnimTime" android:fromYDelta="-100%p" android:toYDelta="0%p" />

slide_out_down.xml

<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="@android:integer/config_longAnimTime" android:fromYDelta="0%p" android:toYDelta="100%p" />

Para las animaciones "deslizar hacia arriba", debería haber anulado la transición pendiente en su método onResume() como este:

protected void onResume() { super.onResume(); overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); }

Para las animaciones "deslizar hacia abajo", haga algo similar en su método onPause() :

protected void onPause() { super.onPause(); overridePendingTransition(R.anim.slide_in_down, R.anim.slide_out_down); }

Algunos tutoriales sugieren usar los métodos de ciclo de vida incorrectos:

  • onCreate() no se llama cada vez que se muestra la actividad
  • onDestroy() no se llama cada vez que se retira la actividad

Más bien, utilice métodos que se llaman cada vez que hay una transición de pantalla:

  • onResume() se llama cuando la actividad se muestra al usuario
  • onPause() se llama cuando se va a quitar la actividad

Para obtener más información sobre estos métodos específicamente, consulte el sitio para desarrolladores de Android:

Cuando se muestre la pantalla, se deslizará desde la parte inferior.

Cuando se muestra una nueva pantalla, su pantalla se deslizará hacia abajo.

Estoy escribiendo una aplicación para Android en la que quiero que aparezca la actividad animando desde la parte inferior de la pantalla hasta la parte superior. Soy capaz de hacer esto con el código de aquí:

Sin embargo, no puedo realizar la animación a la inversa en la que la Actividad desaparecería deslizando desde la parte superior a la parte inferior de la pantalla.

Utilicé el código en el enlace de arriba; la actividad aparece al deslizarse hacia arriba, pero al desaparecer, se desvanece, en lugar de deslizarse hacia el fondo.

Incluso intenté poner el código en onCreate() :

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); overridePendingTransition(R.anim.appear_from_bottom, R.anim.disappear_to_bottom); setContentView(R.layout.activity_all_metadata_display); initializePage(); }


Dos formas de hacer esto:

1. Usar estilos

Suponiendo que desea implementar esto para todas las actividades, en su tema base defina la siguiente entrada:

<item name="android:windowAnimationStyle">@style/ActivityAnimations</item>

Luego define el siguiente estilo:

<style name="ActivityAnimations" parent="android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/appear_from_bottom</item> <item name="android:activityOpenExitAnimation">@anim/hold</item> <item name="android:activityCloseEnterAnimation">@anim/hold</item> <item name="android:activityCloseExitAnimation">@anim/disappear_to_bottom</item> </style>

Donde @anim/hold puede ser algo como esto:

<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" > <translate android:duration="1000" android:zAdjustment="bottom" /> </set>

2. Usando overridePendingTransition ()

Anular el acabado ():

@Override public void finish() { super.finish(); overridePendingTransition(R.anim.hold, R.anim.disappear_to_bottom); }

Anular onBackPressed ():

@Override public void onBackPressed() { finish(); }

Sobrescribir onOptionsItemSelected ():

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; } return super.onOptionsItemSelected(item); }


En tu archivo xml principal. Agregue el id de la etiqueta raíz y pase esto a la función. me gusta

/** The Constant ANIM_NO. */ public static final int ANIM_NO = 0; public static void topToDown(Context context, View target, int type, int duration) { if (type == UtilityAnimations.ANIM_NO) { UtilityAnimations.topToDown(context, target, duration); } else { final Animation animation = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f); animation.setDuration(duration != 0 ? duration : UtilityAnimations.DURATION_MEDIAM); animation.setInterpolator(UtilityAnimations.getInterpolator( context, type)); target.startAnimation(animation); } }


puede viceversa su transición anulando la Transición en su onPause ():

@Override protected void onPause() { super.onPause(); overridePendingTransition(R.anim.appear_from_bottom, R.anim.disappear_to_bottom); }