2011-06-13 18 views
9

Tengo un diseño muy parecido al siguiente. Actualmente, cuando se presiona el botón Atrás, la visibilidad del diseño lineal rojo se desactiva. Sin embargo, me gustaría que se "deslice" fuera de la página. ¿Cómo haría esto?Android: ¿Los diseños se "deslizan" fuera de la pantalla?

my layout

+1

¿Por qué no intentas usar animación para este propósito? Como, no creo que pueda haber otra forma o método definido para el deslizamiento – Nikki

+1

¿Cómo usaría animación para lograr esto? ¿Podrías elaborar por favor? – Skizit

+0

desea un deslizamiento de disposición y otro diseño debe ser visible ....... Entiendo bien – Nikki

Respuesta

35

Es necesario utilizar animaciones. aquí es la parte superior de entrada/salida animaciones:

En Top

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

Lo más

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

Luego, en su actividad de obtener la vista y aplicar una animación de esta manera: Esto se tipo Animación.

mSlideInTop = AnimationUtils.loadAnimation(this, R.anim.slide_in_top); 
     mSlideOutTop = AnimationUtils.loadAnimation(this, R.anim.slide_out_top); 

y llamarlos con este código:

header.startAnimation(mSlideOutTop); 
     header.setVisibility(View.INVISIBLE); 

Aquí cabecera es un LinearLayout envolviendo mis puntos de vista. Lo mismo si desea que se deslice hacia adentro. Simplemente agregue la diapositiva en la animación y haga visible la vista.

+0

¿Dónde se define mSlideInTop? ¿Y debería poner eso bajo el método onCreate()? ¿Y dónde defino qué archivo XML debería deslizarse dentro/fuera? – Si8

+0

Depende de sus necesidades. Por lo general, crea el objeto de animación justo antes de iniciarlo, pero supongo que podría ser un campo inicializado en la actividad dentro de Crear. El XML pasa a la carpeta res/anim. – DArkO

+0

dosis no funciona en mi aplicación. la vista en la parte superior acaba de desaparecer y no se produjo ninguna animación. lo que hice fue: 1: titleHideAnimation = AnimationUtils.loadAnimation (this, R.anim.anim_top_out_slow); 2: titleLayout.startAnimation (titleHideAnimation); 3: titleLayout.setVisibility (View.GONE); – tainy

Cuestiones relacionadas