J'ai une fenêtre popup dans mon application, il apparaît quand un bouton cliqué Je veux mettre en fondu animation dans cette fenêtre, J'ai mis le fichier xml dans "res/anim "dossier et définir le style d'animation pour la fenêtre contextuelle, mais l'animation ne fonctionne pas? voici mes codes:comment faire une animation pour la fenêtre popup dans android
myanim.xml ...
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="4000"
android:repeatCount="1"/>
</set>
=========================== ====================
Créer la fenêtre pop-up
private PopupWindow showOptions(Context mcon){
try{
LayoutInflater inflater = (LayoutInflater) mcon.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.options_layout,null);
layout.setAnimation(AnimationUtils.loadAnimation(this, R.anim.myanim));
PopupWindow optionspu = new PopupWindow(layout, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
optionspu.setFocusable(true);
optionspu.showAtLocation(layout, Gravity.TOP, 0, 0);
optionspu.update(0, 0, LayoutParams.WRAP_CONTENT, (int)(hei/5));
optionspu.setAnimationStyle(R.anim.myanim);
return optionspu;
}
catch (Exception e){e.printStackTrace();
return null;}
}
=============== ===================================== Méthode onClick ... (optionsPopup est une variable globale de type PopupWindow)
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.options:
optionsPopup=showOptions(this);
break;
}
Cela doit mettre en avant la méthode showaslocation appel sûrement.Mais d'une manière ou d'une autre, le popup s'ouvre plusieurs fois quand je clique sur le bouton, des indices pourquoi plusieurs fois? – Ari
@Ari avez-vous résolu un problème avec une animation double? – Anton
J'ai réussi à me débarrasser de la double animation en supprimant android: repeatCount = "1" de l'animation – NewestStackOverflowUser