Problème d'affichage d'image avec l'animation scale (zoom)

Résolu
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 - 12 sept. 2012 à 14:32
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 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

3 réponses

sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
14 sept. 2012 à 17:27
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
3
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
12 sept. 2012 à 15:48
En gros, je vois que l'image s'agrandit bien mais la zone visible correspond à la taille initiale de l'ImageView !

Signé Sagat
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
17 sept. 2012 à 13:53
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...
0
Rejoignez-nous