J'essaie de faire apparaître une boîte de dialogue personnalisée comme si elle glissait depuis une vue de texte. Est-ce possible? Je n'arrive pas à appliquer une animation à la classe de dialogue. J'ai essayé cette ligne dans le constructeur, mais cela n'a aucun effet:
this.getWindow (). setWindowAnimations (R.anim.paranimation);
Je ne sais même pas si l'animation est correcte, mais je pourrai l'ajuster une fois que je verrai ce qu'elle fait. Je vais l'énumérer ci-dessous par souci d'exhaustivité. Je ne cherche pas d'aide sur l'animation proprement dite, juste l'application au dialogue.
paranimation.xml:
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-200%"
android:toXDelta="0%"
android:fromYDelta="200%"
android:toYDelta="0%"
android:duration="3000"
android:zAdjustment="top">
</translate>
Réponses:
J'ai eu du mal avec l'animation Dialog aujourd'hui, je l'ai finalement fait fonctionner en utilisant des styles, voici donc un exemple.
Pour commencer, la chose la plus importante - je l'ai probablement fait fonctionner de 5 façons différentes aujourd'hui mais je ne pouvais pas le dire car ... Si les paramètres d'animation de vos appareils sont définis sur "Aucune animation" (Paramètres → Affichage → Animation), les boîtes de dialogue ont gagné ne sois pas animé quoi que tu fasses!
Ce qui suit est une version allégée de mon styles.xml. Espérons que ce soit explicite. Cela devrait être situé dans
res/values
.C'est l'
windowEnterAnimation
une de mes animations et se trouve dansres\anim
. C'est l'windowExitAnimation
une des animations qui fait partie du SDK Android.Ensuite, lorsque je crée le dialogue dans ma
onCreateDialog(int id)
méthode d' activités , je fais ce qui suit.Vous pouvez également définir les animations de la manière suivante au lieu d'utiliser le constructeur Dialog qui prend un thème.
la source
Dialog dialog = new Dialog(this, R.style.PauseDialog);
c'est pour l'API 11 mais c'est généralDialog dialog = new Dialog(Context context);
J'ai créé l'animation Fade in and Fade Out pour Dialogbox en utilisant le code ChrisJD.
À l'intérieur de res / style.xml
Dans anim / fadein.xml
Dans anim / fadeout.xml
Activité principale
la source
Pour de droite à gauche (animation d'entrée) et de gauche à droite (animation de sortie):
styles.xml:
Créez deux fichiers dans res / anim /:
translate_right_side.xml:
translate_left_side.xml:
Dans votre fragment / activité:
la source
Je rencontre le même problème, mais enfin je résous le problème de manière suivie
la source
Tout d'abord, vous devez créer deux ressources d'animation dans le répertoire res / anim
slide_up.xml
slide_bottom.xml
alors tu dois créer un style
et ajoutez cette ligne à votre classe
Basé sur http://www.devexchanges.info/2015/10/showing-dialog-with-animation-in-android.html
la source
Essayez le code ci-dessous:
Créez l'anim personnalisé: res / anim / customer_anim.xml:
la source