LayoutTransition Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup.
[Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)]
public class LayoutTransition : Java.Lang.Object
[<Android.Runtime.Register("android/animation/LayoutTransition", DoNotGenerateAcw=true)>]
type LayoutTransition = class
inherit Object
- Warisan
- Atribut
Keterangan
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. Untuk mengaktifkan transisi untuk kontainer tata letak, buat objek LayoutTransition dan atur pada ViewGroup apa pun dengan memanggil ViewGroup#setLayoutTransition(LayoutTransition). Ini akan menyebabkan animasi default berjalan setiap kali item ditambahkan ke atau dihapus dari kontainer tersebut. Untuk menentukan animasi kustom, gunakan LayoutTransition#setAnimator(int, Animator) setAnimator() metode .
Salah satu konsep inti dari animasi transisi ini adalah ada dua jenis perubahan yang menyebabkan transisi dan empat animasi berbeda yang berjalan karena perubahan tersebut. Perubahan yang memicu transisi adalah item yang ditambahkan ke kontainer (disebut sebagai transisi "muncul"), atau dihapus dari kontainer (juga dikenal sebagai "menghilang"). Mengatur visibilitas tampilan (antara GONE dan VISIBLE) akan memicu logika add/remove yang sama. Animasi yang berjalan karena peristiwa tersebut adalah salah satu yang menganimasikan item yang ditambahkan, yang menganimasikan item yang dihapus, dan dua yang menganimasikan item lain dalam kontainer yang berubah karena kemunculan add/remove. Pengguna transisi mungkin menginginkan animasi yang berbeda untuk item yang berubah tergantung pada apakah mereka berubah karena peristiwa yang muncul atau menghilang, jadi ada satu animasi untuk masing-masing variasi peristiwa yang berubah ini. Sebagian besar API kelas ini berkaitan dengan pengaturan properti dasar animasi yang digunakan dalam empat situasi ini, atau dengan menyiapkan animasi kustom untuk salah satu atau keempatnya.
Secara default, animasi DISAPPEARING segera dimulai, seperti halnya animasi CHANGE_APPEARING. Animasi lainnya dimulai setelah penundaan yang diatur ke durasi default animasi. Perilaku ini memfasilitasi urutan animasi dalam transisi sebagai berikut: ketika item ditambahkan ke tata letak, turunan lain dari kontainer tersebut akan bergerak terlebih dahulu (sehingga membuat ruang untuk item baru), maka animasi yang muncul akan berjalan untuk menganimasikan item yang ditambahkan. Sebaliknya, ketika item dihapus dari kontainer, animasi untuk menghapusnya akan berjalan terlebih dahulu, maka animasi anak-anak lain dalam tata letak akan berjalan (menutup celah yang dibuat dalam tata letak saat item dihapus). Jika perilaku koreografi default ini tidak diinginkan, #setDuration(int, long) dan #setStartDelay(int, long) dari salah satu atau semua animasi dapat diubah sebagaimana mewajarkan. Namun, perlu diingat bahwa jika Anda memulai animasi APPEARING sebelum animasi DISAPPEARING selesai, animasi DISAPPEARING berhenti, dan efek apa pun dari animasi DISAPPEARING dikembalikan. Jika Anda memulai animasi DISAPPEARING sebelum animasi APPEARING selesai, sekumpulan efek serupa terjadi untuk animasi APPEARING.
Animasi yang ditentukan untuk transisi, baik default maupun animasi kustom apa pun yang diatur pada objek transisi, hanya templat. Artinya, animasi ini ada untuk menyimpan properti animasi dasar, seperti durasi, mulai penundaan, dan properti yang dianimasikan. Tetapi objek target aktual, serta nilai awal dan akhir untuk properti tersebut, diatur secara otomatis dalam proses menyiapkan transisi setiap kali dijalankan. Masing-masing animasi dikloning dari salinan asli dan kloning kemudian diisi dengan nilai dinamis target yang dianimasikan (seperti salah satu item dalam kontainer tata letak yang bergerak sebagai akibat dari peristiwa tata letak) serta nilai yang berubah (seperti posisi dan ukuran objek tersebut). Nilai aktual yang didorong ke setiap animasi bergantung pada properti apa yang ditentukan untuk animasi. Misalnya, animasi CHANGE_APPEARING default menganimasikan leftproperti , , top, rightbottom, scrollX, dan scrollY . Nilai untuk properti ini diperbarui dengan nilai pra-dan pasca-tata letak saat transisi dimulai. Animasi kustom akan diisi sama dengan target dan nilai yang dianimasikan, dengan asumsi mereka menggunakan objek ObjectAnimator dengan nama properti yang diketahui pada objek target.
Kelas ini, dan bendera XML terkait untuk kontainer, animateLayoutChanges="true", menyediakan utilitas sederhana yang dimaksudkan untuk mengotomatiskan perubahan dalam situasi langsung. Menggunakan LayoutTransition pada beberapa tingkat hierarki tampilan berlapis mungkin tidak berfungsi karena keterkabelan berbagai tingkat tata letak. Selain itu, kontainer yang sedang digulir pada saat yang sama dengan item yang ditambahkan atau dihapus mungkin bukan kandidat yang baik untuk utilitas ini, karena lokasi sebelum/sesudah yang dihitung oleh LayoutTransition mungkin tidak cocok dengan lokasi aktual ketika animasi selesai karena kontainer sedang digulir saat animasi berjalan. Anda dapat mengatasi masalah tertentu tersebut dengan menonaktifkan animasi 'mengubah' dengan mengatur animasi CHANGE_APPEARING dan CHANGE_DISAPPEARING ke null, dan mengatur startDelay animasi lain dengan tepat.
Java dokumentasi untuk android.animation.LayoutTransition.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.
Konstruktor
| Nama | Deskripsi |
|---|---|
| LayoutTransition() |
Membuat objek LayoutTransition. |
| LayoutTransition(IntPtr, JniHandleOwnership) |
Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime. |
Bidang
| Nama | Deskripsi |
|---|---|
| Appearing |
Kedaluwarsa.
Bendera yang menunjukkan animasi yang berjalan pada item yang muncul dalam kontainer. |
| ChangeAppearing |
Kedaluwarsa.
Bendera yang menunjukkan animasi yang berjalan pada item yang berubah karena item baru muncul dalam kontainer. |
| ChangeDisappearing |
Kedaluwarsa.
Bendera yang menunjukkan animasi yang berjalan pada item yang berubah karena item menghilang dari kontainer. |
| Changing |
Kedaluwarsa.
Bendera yang menunjukkan animasi yang berjalan pada item yang berubah karena perubahan tata letak yang tidak disebabkan oleh item yang ditambahkan ke atau dihapus dari kontainer. |
| Disappearing |
Kedaluwarsa.
Bendera yang menunjukkan animasi yang berjalan pada item yang menghilang dari kontainer. |
Properti
| Nama | Deskripsi |
|---|---|
| Class |
Mengembalikan kelas runtime dari . |
| Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
| IsChangingLayout |
Mengembalikan true jika animasi berjalan yang menganimasikan properti terkait tata letak. |
| IsRunning |
Mengembalikan true jika salah satu animasi dalam transisi ini sedang berjalan. |
| JniIdentityHashCode |
Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop. (Diperoleh dari Object) |
| JniManagedPeerState |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| JniPeerMembers |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. |
| PeerReference |
Mendapatkan referensi objek JNI untuk peer Java ini. (Diperoleh dari Object) |
| ThresholdClass |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
| ThresholdType |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
| TransitionListeners |
Mendapatkan daftar listener saat ini untuk perubahan tata letak. |
Metode
| Nama | Deskripsi |
|---|---|
| AddChild(ViewGroup, View) |
Metode ini dipanggil oleh ViewGroup ketika tampilan anak akan ditambahkan ke kontainer. |
| AddTransitionListener(LayoutTransition+ITransitionListener) |
Tambahkan pendengar yang akan dipanggil saat batas tampilan berubah karena pemrosesan tata letak. |
| Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| DisableTransitionType(LayoutTransitionType) |
Menonaktifkan transisiType yang ditentukan untuk objek LayoutTransition ini. |
| Dispose() |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| Dispose(Boolean) |
Merilis sumber daya yang dipegang oleh rekan Java ini. (Diperoleh dari Object) |
| DisposeUnlessReferenced() |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| EnableTransitionType(LayoutTransitionType) |
Mengaktifkan transisiType yang ditentukan untuk objek LayoutTransition ini. |
| Equals(Object) |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| GetAnimator(LayoutTransitionType) |
Mendapatkan animasi yang digunakan selama salah satu jenis transisi yang mungkin berjalan. |
| GetDuration(LayoutTransitionType) |
Mendapatkan durasi pada salah satu objek animasi yang digunakan oleh transisi ini. |
| GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
| GetInterpolator(LayoutTransitionType) |
Mendapatkan interpolator pada salah satu objek animasi yang digunakan oleh transisi ini. |
| GetStagger(LayoutTransitionType) |
Mendapatkan lamanya waktu untuk menunda antara memulai setiap animasi selama salah satu animasi perubahan. |
| GetStartDelay(LayoutTransitionType) |
Mendapatkan penundaan mulai pada salah satu objek animasi yang digunakan oleh transisi ini. |
| HideChild(ViewGroup, View, ViewStates) |
Metode ini dipanggil oleh ViewGroup ketika tampilan anak akan disembunyikan dalam kontainer. |
| HideChild(ViewGroup, View) |
Kedaluwarsa.
Anggota ini tidak digunakan lagi. |
| IsTransitionTypeEnabled(LayoutTransitionType) |
Mengembalikan apakah transisiType yang ditentukan diaktifkan untuk objek LayoutTransition ini. |
| JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
| Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
| RemoveChild(ViewGroup, View) |
Metode ini dipanggil oleh ViewGroup ketika tampilan anak akan dihapus dari kontainer. |
| RemoveTransitionListener(LayoutTransition+ITransitionListener) |
Menghapus pendengar untuk perubahan tata letak. |
| SetAnimateParentHierarchy(Boolean) |
Bendera ini mengontrol apakah animasi CHANGE_APPEARING atau CHANGE_DISAPPEARING akan menyebabkan perubahan animasi default juga dijalankan pada hierarki induk. |
| SetAnimator(LayoutTransitionType, Animator) |
Mengatur animasi yang digunakan selama salah satu jenis transisi yang mungkin berjalan. |
| SetDuration(Int64) |
Mengatur durasi yang akan digunakan oleh semua animasi objek transisi ini. |
| SetDuration(LayoutTransitionType, Int64) |
Mengatur durasi pada salah satu objek animasi yang digunakan oleh transisi ini. |
| SetHandle(IntPtr, JniHandleOwnership) |
Mengatur properti Handle. (Diperoleh dari Object) |
| SetInterpolator(LayoutTransitionType, ITimeInterpolator) |
Mengatur interpolator pada salah satu objek animasi yang digunakan oleh transisi ini. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| SetStagger(LayoutTransitionType, Int64) |
Mengatur durasi waktu untuk menunda antara memulai setiap animasi selama salah satu animasi perubahan. |
| SetStartDelay(LayoutTransitionType, Int64) |
Mengatur penundaan mulai pada salah satu objek animasi yang digunakan oleh transisi ini. |
| ShowChild(ViewGroup, View, ViewStates) |
Metode ini dipanggil oleh ViewGroup ketika tampilan anak akan dibuat terlihat dalam kontainer. |
| ShowChild(ViewGroup, View) |
Kedaluwarsa.
Anggota ini tidak digunakan lagi. |
| ToArray<T>() |
Membuat array terkelola dari pembungkus array Java ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
| UnregisterFromRuntime() |
Membatalkan pendaftaran peer Java ini dari runtime interop. (Diperoleh dari Object) |
| Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
| Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
| Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu. (Diperoleh dari Object) |
Acara
| Nama | Deskripsi |
|---|---|
| EndTransition |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. |
| StartTransition |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IJavaPeerable.Disposed() |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| IJavaPeerable.Finalized() |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. (Diperoleh dari JavaObject) |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Mendapatkan nama JNI dari jenis instans |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Kelas ini mengaktifkan animasi otomatis pada perubahan tata letak di objek ViewGroup. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |