Tengo una ventana emergente en mi aplicación, aparece cuando hace clic en un botón Quiero configurar el desvanecimiento en la animación en esta ventana, Pongo el archivo xml en "res/anim" "carpeta y establecer el estilo de animación para la ventana emergente, pero la animación no funciona? aquí es mis códigos:cómo hacer una animación para una ventana emergente en 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>
=========================== ====================
crear la ventana emergente
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étodo onClick ... (optionsPopup es una variable global del tipo PopupWindow)
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.options:
optionsPopup=showOptions(this);
break;
}
Esto tiene que establecer antes showaslocation llamada a un método seguro.Pero de alguna manera, la ventana emergente se abre varias veces cada vez que hago clic en el botón, ¿hay alguna pista de por qué varias veces? – Ari
@Ari resolvió un problema con doble animación? – Anton
Logré deshacerme de la animación doble quitando android: repeatCount = "1" de la animación – NewestStackOverflowUser