Dazu benötigen Sie 2 Animationen und legen diese im Ordner res / anim ab
- slide_up_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="50%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime"/>
2.slide_out_down.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%p"
android:toYDelta="100%p" />
Jetzt müssen Sie einen benutzerdefinierten Stil in style.xml erstellen
<style name="DialogAnimation">
<item name="android:windowEnterAnimation">@anim/slide_up_dialog</item>
<item name="android:windowExitAnimation">@anim/slide_out_down</item>
</style>
Als nächstes soll das Android-Theme erweitert werden. Dialogthema in derselben style.xml und geben Sie den Verweis auf den von uns erstellten benutzerdefinierten Stil an.
<style name="DialogSlideAnim" parent="@android:style/Theme.Dialog">
<item name="android:windowAnimationStyle">@style/DialogAnimation</item>
</style>
Rufen Sie diesen Stil schließlich auf, wenn Sie den Dialog wie folgt erstellen.
dialog = new Dialog(new ContextThemeWrapper(this, R.style.DialogSlideAnim));
yep ... Jetzt ist der Dialog bereit zu gleiten ..... !!
Aktualisieren:
Wie von @MichealP vorgeschlagen, wird das Fenster unten platziert
getWindow().setGravity(Gravity.BOTTOM);
und ändern Sie den Stil, um Tittle und Hintergrund zu entfernen
<item name="android:windowBackground">@null</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
Wie @ sikni8 vorgeschlagen hat, wird dadurch der schwarze Rand transparent
getWindow().setBackgroundDrawableResource(android.R.color.transparent);