Problème d'affichage d'image avec l'animation scale (zoom) [Résolu]

Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
- - Dernière réponse : BunoCS
Messages postés
14636
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
9 octobre 2019
- 17 sept. 2012 à 13:53
Bonjour à tous,
voilà je souhaite faire une simple animation scale zoomant donc sur 1 image.

Mon soucis est que l'image zoomée ne s'affiche pas complètement, se limitant à la partie qui fait la taille d'origine de l'image !
J'espère m'être fait comprendre ^^

Le fichier zoom.xml définissant l'animation

<scale                    
    android:toXScale="1.4"                 
    android:fromXScale="1.0"                 
    android:toYScale="1.4"
    android:fromYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="100"
    android:duration="1600" />


Le fichier main.xml qui construit l'activity

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_gravity="center" >

<LinearLayout
   android:orientation="horizontal"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_marginTop="10dp"
   android:layout_gravity="center" >


</LinearLayout>



</LinearLayout>


Le fichier main.java gérant tout ça:

blabla...

public class MainActivity extends Activity implements OnClickListener {

       // Called when the activity is first created.
       private Button validate;
       private ImageView anim;

       @Override
       public void onCreate(Bundle savedInstanceState) {

             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
             validate = (Button)findViewById(R.id.validate);
             anim = (ImageView)findViewById(R.id.imageanim); 
             validate.setOnClickListener(new View.OnClickListener() {

             public void onClick(View v) {
                    Animation animation;
                    animation  = AnimationUtils.loadAnimation(v.getContext(), R.anim.zoom);
                    try
                    {
                         anim.setImageDrawable(getResources().getDrawable(R.drawable.mon_ima));
                         anim.startAnimation(animation);
                    }
                         catch (Exception e)
                    {
                         e.printStackTrace();
                    }
             }
      }
}


Merci d'avance pour votre aide.
A bientôt

Signé Sagat
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
3
Merci
J'ai résolu mon problème avec l'ajout de marges autour de mes images.

Le conteneur qui avait les attributs width et height à wrap_content cachait une partie de l'image qui s'agrandissant via l'animation scale, en effet sa taille ne variait pas ^^

J'aurai bien galéré pour pas grand chose finalement...

Signé Sagat

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 186 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sagat06
Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
0
Merci
En gros, je vois que l'image s'agrandit bien mais la zone visible correspond à la taille initiale de l'ImageView !

Signé Sagat
Commenter la réponse de sagat06
Messages postés
14636
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
9 octobre 2019
90
0
Merci
C'est cool, merci du partage


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS