Animación de la actividad como google play store
Tengo GridView
y quiero animation
como google play store. En eso, cuando hacemos clic en cualquier aplicación a continuación, redirigir a su página de detalles. En ese momento ocurre una pequeña animación. Quiero este tipo de animación para mi GridView
y su página de detalles. Necesito ayuda si alguien sabe acerca de este tipo de transición de actividades de una clase a otra.
- Galería circular automática de Android
- Animación de onda en Android TextView
- Animación personalizada para viewpager
- ¿Es posible cambiar el valor final de ObjectAnimator con la animación iniciada?
- Cómo establecer animation-list como atributo xml
- Android crece LinearLayout usando animación
- Android cambia la imagen de fondo con la animación de entrada / salida
- Escala y Traducir animación
- Cómo reducir una actividad de acabado a un rectángulo
- GetHeight para View que tiene visibilidad = ido
- CursorAdapter respaldado ListView eliminar animación "parpadeos" en borrar
- Uso de la animación de desvanecimiento en una vista
- ¿Lista de animaciones de la transición de la visión de androide?
Este es su primer código de actividad desde el que desea pasar a la pantalla de detalles
import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.support.v4.app.ActivityOptionsCompat; import android.support.v4.util.Pair; import android.support.v7.app.AppCompatActivity; import android.view.View; public class StartActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); } public void onClick(View view) { View imageView = findViewById(R.id.imageView); View textView = findViewById(R.id.textView); View button = findViewById(R.id.button); Intent intent = new Intent(this, EndActivity.class); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { textView.setTransitionName(getString(R.string.activity_text_trans)); button.setTransitionName(getString(R.string.activity_mixed_trans)); Pair<View, String> pair1 = Pair.create(imageView, imageView.getTransitionName()); Pair<View, String> pair2 = Pair.create(textView, textView.getTransitionName()); Pair<View, String> pair3 = Pair.create(button, button.getTransitionName()); ActivityOptionsCompat options = ActivityOptionsCompat. makeSceneTransitionAnimation(this, pair1, pair2, pair3); startActivity(intent, options.toBundle()); } else { startActivity(intent); } } }
Esta es la actividad de la pantalla de detalles
import android.os.Build; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; public class EndActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_end); View smallImageView = findViewById(R.id.textView); View editText = findViewById(R.id.editText); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { smallImageView.setTransitionName(getString(R.string.activity_text_trans)); editText.setTransitionName(getString(R.string.activity_mixed_trans)); } } }
Archivo layouut de FirstActivity
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="16dp"> <ImageView android:id="@+id/imageView" android:layout_width="120dp" android:layout_height="120dp" android:layout_centerHorizontal="true" android:src="@drawable/aa_logo_green" android:transitionName="@string/activity_image_trans"/> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/imageView" android:text="Simple TextView" android:textSize="20sp"/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/textView" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:text="Click Me" style="@style/Widget.AppCompat.Button.Borderless" android:onClick="onClick"/> </RelativeLayout>
Archivo de diseño xml de EndActivity
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="16dp"> <ImageView android:id="@+id/imageView" android:layout_width="220dp" android:layout_height="220dp" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:src="@drawable/aa_logo_green" android:transitionName="@string/activity_image_trans"/> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentLeft="true" android:hint="An EditText" android:textSize="24sp"/> <ImageView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@id/imageView" android:layout_alignBottom="@id/imageView" android:layout_alignParentStart="true" android:layout_alignParentLeft="true" android:src="@drawable/aa_logo_blue"/> </RelativeLayout>
Creo que quieres exactamente la transacción de la actividad material, leer este documento de desarrollador aquí también intentar esta lib para la animación de traducción https://github.com/lgvalle/Material-Animations