Android open Imagen onclick como Whatsapp Foto del perfil
Tengo una barra de herramientas colapsando con ImageView dentro, cuando se hace clic en la imagen. Quiero ampliarla con una animación e ir a otra "actividad" como whatsapp, telegrama y muchas otras aplicaciones que permiten al usuario hacer clic en la foto de perfil de amigos.
Esto permitirá al usuario ver la imagen en el centro de la pantalla y guardar o compartir la imagen.
- Flecha de flecha hacia arriba que superpone el título de la barra de herramientas
- Barra de herramientas dejando espacio en blanco con ocultar en RecyclerView scroll
- SwitchCompat en barra de acción, con fragmento
- ¿Cómo implementar el evento de clic en el icono de la barra de herramientas?
- Título, etc. que no se muestran en la barra de herramientas de Android
Tuve una mirada de zoom de una visión http://developer.android.com/training/animation/zoom.html pero no es suficiente y tengo retraso durante la animación. (He utilizado el mismo código proporcionado)
- Barra de herramientas con calendario
- Android RecyclerView debajo de la barra de herramientas
- ¿Es posible agregar vista de imagen en una barra de herramientas?
- Título de la barra de herramientas con vista personalizada
- Barra de herramientas de AppCompat v7 onOptionsItemSelected no llamado
- Barra de herramientas flotante con controles de selección de texto
- ActionBar / Barra de herramientas no se muestra en la versión de Lollipop de la aplicación
- Uso de la barra de herramientas en fragmento o en la actividad
Es posible que desee ver la documentación de Google para ampliar una vista aquí
Básicamente, la forma en que le dicen que ir sobre esto es mediante la creación de un imagebutton que mostrará la imagen más pequeña, que al hacer clic en reproducir una animación, y al final revelar una imagen con la imagen de tamaño completo en ella.
El esquema que dan como ejemplo es el siguiente: `
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="16dp"> <ImageButton android:id="@+id/thumb_button_1" android:layout_width="100dp" android:layout_height="75dp" android:layout_marginRight="1dp" android:src="@drawable/thumb1" android:scaleType="centerCrop" android:contentDescription="@string/description_image_1" /> </LinearLayout> <!-- This initially-hidden ImageView will hold the expanded/zoomed version of the images above. Without transformations applied, it takes up the entire screen. To achieve the "zoom" animation, this view's bounds are animated from the bounds of the thumbnail button above, to its final laid-out bounds. --> <ImageView android:id="@+id/expanded_image" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" android:contentDescription="@string/description_zoom_touch_close" /></FrameLayout>
“
A continuación, puede configurar la animación de la siguiente manera:
public class ZoomActivity extends FragmentActivity { // Hold a reference to the current animator, // so that it can be canceled mid-way. private Animator mCurrentAnimator; // The system "short" animation time duration, in milliseconds. This // duration is ideal for subtle animations or animations that occur // very frequently. private int mShortAnimationDuration; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_zoom); // Hook up clicks on the thumbnail views. final View thumb1View = findViewById(R.id.thumb_button_1); thumb1View.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { zoomImageFromThumb(thumb1View, R.drawable.image1); } }); // Retrieve and cache the system's default "short" animation time. mShortAnimationDuration = getResources().getInteger( android.R.integer.config_shortAnimTime); }}
'
Hay varios pasos más, pero en este momento estoy literalmente copiar y pegar de su documentación. Deberías ir a leerlo. ¡Si tiene alguna pregunta, hágamelo saber!
Creo que su clave es la transición de elementos compartidos. Puedes seguir este tutorial
Dé el mismo nombre de transición a ambas vistas que están en actividades diferentes. android:transitionName="@string/transition_string"
Agregue este paquete donde inicia la actividad ampliada
Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(context, view, view.getTransitionName()).toBundle(); startActivity(intent,bundle);
Y no olvide añadir esta línea al estilo de su actividad
<!-- Add this line --> <item name="android:windowContentTransitions">true</item>
- Android: adb shell, no se encontró ningún comando adb
- ¿Hay alguna manera en Android de interceptar llamadas entrantes / SMS para bloquear / desbloquearlo?