Traduire et mettre à l'échelle l'animation en parallèle
Je veux déplacer une partie de la vue à partir de n'importe quelle position pour centre de l'écran et de l'échelle en parallèle. Si c'est trop compliqué, traduire et échelle de manière séquentielle est également acceptable. Mais ni je pouvais atteindre. Je pense que c'est le problème avec le point de pivot. Mais désolé je n'ai trouvé aucune solution. S'il vous plaît aider. C'est peut-être facile pour ceux qui développent des jeux, à propos de laquelle je n'ai rien fait.
Ci-dessous mon code:
private void moveViewToScreenCenter( final View view ){
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics( dm );
int statusBarOffset = dm.heightPixels - rootLayout.getMeasuredHeight();
int originalPos[] = new int[2];
view.getLocationOnScreen( originalPos );
int xDelta = (dm.widthPixels - view.getMeasuredWidth())/2 - originalPos[0];
int yDelta = (dm.heightPixels - view.getMeasuredHeight())/2 + statusBarOffset - originalPos[1];
AnimationSet animSet = new AnimationSet(true);
animSet.setFillAfter(true);
animSet.setDuration(1000);
animSet.setInterpolator(new BounceInterpolator());
TranslateAnimation translate = new TranslateAnimation( 0, xDelta , 0, yDelta);
animSet.addAnimation(translate);
ScaleAnimation scale = new ScaleAnimation(1f, 2f, 1f, 2f, ScaleAnimation.RELATIVE_TO_PARENT, .5f, ScaleAnimation.RELATIVE_TO_PARENT, .5f);
animSet.addAnimation(scale);
view.startAnimation(animSet);
}
Mise à jour:
le code ci-dessus peut traiter imageview partir du coin supérieur gauche de la région, ceux d'en bas à droite de la région en aller en diagonale à travers l'écran et disparaissent.
source d'informationauteur user1105115 | 2013-12-02
Vous devez vous connecter pour publier un commentaire.
Après assez un peu désespérée essais, je l'ai fait, ce qui est aussi étonnant.
Ci-dessous est le code, il peut être utilisé pour déplacer les afficher dans une mise en page au centre de cette mise en page:
L'idée de base est: