Bagaimana saya bisa menggunakan bendera Intent FLAG_ACTIVITY_NO_ANIMATION
di file AndroidManifest dengan benar? Saya kira masalah saya sepele, tetapi saya tidak dapat menemukan contoh atau solusi yang baik untuk itu.
<intent-filter>
<data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" />
</intent-filter>
Namun tidak ada kesalahan yang dilaporkan oleh compliator, tetapi data
tidak benar. Saya hanya ingin menonaktifkan animasi jika berpindah antar kegiatan. Saya bisa menggunakannya getWindow().setWindowAnimations(0);
di onCreate atau onResume, tetapi menggunakan flag adalah cara yang lebih baik, bukan?
Saya dapat menggunakan juga dalam kode:
Intent intent = new Intent(v.getContext(), newactivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
getContext().startActivity(intent);
Tapi saya ingin menggunakan bendera ini di Android Manifest. Untuk menonaktifkan animasi juga jika kembali dari aktivitas kedua ke yang pertama.
Jawaban:
Anda dapat membuat gaya,
dan tetapkan sebagai tema untuk aktivitas Anda di manifes:
Anda juga dapat menentukan gaya untuk menentukan entri khusus dan keluar dari animasi. http://developer.android.com/reference/android/R.attr.html#windowEnterAnimation
sumber
Jika konteks Anda adalah aktivitas, Anda dapat memanggil overridePendingTransition :
Jadi, secara pemrograman:
sumber
overridePendingTransition
telah ditambahkan di API level 5. Jadi tidak itu tidak bekerja pada "setiap" versi Android tapi saya kira Anda menargetkan level API yang lebih tinggi maka 5.Coba kode ini,
sumber
Anda juga dapat melakukan ini di semua kegiatan yang tidak ingin Anda transisikan dari:
Saya suka pendekatan ini karena Anda tidak perlu mengacaukan gaya aktivitas Anda.
sumber
Ini bukan contoh penggunaan atau penjelasan tentang cara menggunakan
FLAG_ACTIVITY_NO_ANIMATION
, namun ini menjawab bagaimana cara menonaktifkanActivity
animasi switching, seperti yang ditanyakan dalam judul pertanyaan:Android, bagaimana cara menonaktifkan efek 'penghapusan' saat memulai aktivitas baru?
sumber
Berikut ini adalah solusi satu-liner yang berfungsi serendah
minSdkVersion 14
yang harus Anda masukkanres/styles.xml
:seperti itu:
Bersulang!
sumber
Garis dalam gaya tema berfungsi dengan baik, namun itu menggantikan animasi dengan layar putih. Terutama pada ponsel yang lebih lambat - ini benar-benar menjengkelkan. Jadi, jika Anda ingin transisi instan - Anda bisa menggunakan ini dalam gaya tema:
sumber
buat gaya Anda sendiri menimpa Android: Tema
Kemudian gunakan dalam manifes seperti ini:
sumber
Setelah mulai niat, Anda dapat menggunakan kode ini:
Jika digunakan, niat tidak akan berfungsi tanpa animasi atau transisi
sumber