web-dev-qa-db-fra.com

Transitions de conception de matériel Android

Je souhaite reproduire les transitions comme expliqué dans la conception de matériaux de Google . Il s’agit du lien pour l’aperçu , mais les vidéos qui m’intéressent sont les suivantes:

  1. http://material-design.storage.googleapis.com/videos/animations-meaningfultransitions-hierarchical_transitions_topLevel_large_xhdpi.webm
  2. http://material-design.storage.googleapis.com/videos/animation-meaningfultransitions-view_contact_large_xhdpi.webm

Ma question est quel est le conteneur de l'interface utilisateur? S'agit-il d'une nouvelle activité qui onCreate comporte des animations pour chaque élément ou s'agit-il d'un fragment? 

En particulier sur le deuxième exemple, il y a du mouvement sur la 1ère activité, alors à l'intérieur de onClick, y a-t-il une animation qui crée également une 2e activité? (notez que le nom sur lequel vous avez cliqué change également, de sorte que cela ne devrait pas être une nouvelle activité)

En d'autres termes, quelle doit être la mise en page (+ Activités, fragments) si je souhaite reproduire cela?

29
Diolor

Peut-être trop tard mais j'ai trouvé que la bibliothèque de support contient ActivityOptionsCompat: https://developer.Android.com/reference/Android/support/v4/app/package-summary.html
Il contient des animations d’activités telles que des animations d’agrandissement. J'espère que cela t'aides.

8
sagus_helgy

Celui-ci ont des transitions. 

J'espère que vous allez extraire les transitions à partir de là.

Guide - http://antonioleiva.com/material-design-everywhere/
Code - https://github.com/antoniolg/MaterialEverywhere

5
Inoy

Je suppose qu'ils pourraient être implémentés avec des fragments mais je pourrais penser qu'ils seraient des activités séparées. Android L introduit Activity Transitions dans le cadre d'animation. En particulier, ces transitions peuvent contenir éléments d'interface utilisateur partagés, qui indiquent des correspondances entre les vues "correspondantes" de l'appelant et les activités appelées. La transition est ensuite incluse dans l'objet ActivityOptions transmis à startActivity().

L’idée est d’atteindre l’effet visuel de ces vidéos (c’est-à-dire des vues particulières qui changent de position ou de dimension dans le cadre d’une transition d’activité). L'exemple canonique serait une application de la Galerie, lors de la transition de la grille qui montre toutes les images pour en afficher une particulière.

Ceci pourrait être réalisé avant (vérifiez cette réponse ou cette vidéo de DevBytes de Chet Haase ) mais elle était plutôt complexe/hacky, elle a donc été incluse en tant que ressource standard dans Android L.

Consultez la documentation de Activity Transitions dans la documentation de l'aperçu L ou ActivitySceneTransitionBasic incluse dans les exemples Android-L (n'oubliez pas que vous pouvez télécharger l'aperçu de la référence L depuis ici pour obtenir la documentation correspondante. les nouvelles méthodes).

4
matiash

Étape 1: Considérez que vous passez d’une activité à une autre. Définissez la méthode onclick pour le bouton

   button= (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getApplicationContext(), Animation.class);
               startActivity(intent, options.toBundle());
                    startActivity(intent);
               overridePendingTransition  (R.anim.right_slide_in, R.anim.right_slide_out);
            }
        });

Étape 2: Définissez maintenant l’animation dont vous avez besoin pour la deuxième activité lors du lancement.

anim.right_slide_in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:interpolator="@Android:anim/accelerate_decelerate_interpolator">
    <translate
        Android:fromXDelta="100%p"
        Android:toXDelta="0"
        Android:duration="700"
        />
</set>
0
manju h