Saya mencoba membuat dialog khusus muncul seolah-olah sedang meluncur ke bawah dari tampilan teks. Apakah ini mungkin? Sepertinya saya tidak bisa menerapkan animasi apa pun ke kelas dialog. Saya sudah mencoba baris ini di konstruktor, tetapi tidak berpengaruh:
this.getWindow (). setWindowAnimations (R.anim.paranimation);
Saya bahkan tidak yakin apakah animasinya benar, tetapi saya akan dapat menyesuaikannya setelah saya melihat apa yang dilakukannya. Saya akan cantumkan di bawah ini demi kelengkapan. Saya tidak mencari bantuan untuk animasi yang sebenarnya, hanya aplikasi untuk dialog.
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>
Jawaban:
Saya telah berjuang dengan animasi Dialog hari ini, akhirnya berhasil menggunakan gaya, jadi inilah contohnya.
Pertama-tama, hal yang paling penting - Saya mungkin membuatnya berfungsi dengan 5 cara berbeda hari ini tetapi tidak tahu karena ... Jika pengaturan animasi perangkat Anda disetel ke "Tanpa Animasi" (Pengaturan → Tampilan → Animasi) maka dialog menang tidak dianimasikan apa pun yang Anda lakukan!
Berikut ini adalah versi yang dipreteli dari styles.xml saya. Mudah-mudahan cukup jelas. Ini harus ditempatkan di
res/values
.Itu
windowEnterAnimation
adalah salah satu animasi saya dan terletak dires\anim
. IniwindowExitAnimation
adalah salah satu animasi yang merupakan bagian dari Android SDK.Kemudian ketika saya membuat Dialog dalam
onCreateDialog(int id)
metode aktivitas saya, saya melakukan hal berikut.Alternatifnya, Anda dapat menyetel animasi dengan cara berikut daripada menggunakan konstruktor Dialog yang mengambil tema.
sumber
Dialog dialog = new Dialog(this, R.style.PauseDialog);
ini untuk API 11 tetapi ini umumDialog dialog = new Dialog(Context context);
Saya telah membuat animasi Fade in dan Fade Out untuk Dialogbox menggunakan kode ChrisJD.
Di dalam res / style.xml
Di dalam anim / fadein.xml
Di dalam anim / fadeout.xml
Aktifitas utama
sumber
Untuk kanan ke kiri (animasi entri) dan kiri ke kanan (animasi keluar):
styles.xml:
Buat dua file di res / anim /:
translate_right_side.xml:
translate_left_side.xml:
Dalam diri Anda Fragmen / Aktivitas:
sumber
Saya menemui masalah yang sama, tetapi, akhirnya saya menyelesaikan masalah tersebut dengan cara yang diikuti
sumber
Pertama, Anda harus membuat dua sumber animasi di res / anim dir
slide_up.xml
slide_bottom.xml
maka Anda harus membuat gaya
dan tambahkan baris ini ke kelas Anda
Berbasis di http://www.devexchanges.info/2015/10/showing-dialog-with-animation-in-android.html
sumber
Coba kode di bawah ini:
Buat Anim khusus .: res / anim / customer_anim.xml:
sumber