CardScrollView

Ditambahkan di API level XE12

View yang menampilkan tampilan turunan yang di-scroll secara horizontal, disebut sebagai kartu.

Kartu berasal dari CardScrollAdapter yang terkait dengan CardScrollView. Setiap kartu secara visual mewakili item Object tertentu.

Lihat Men-scroll kartu dalam aktivitas untuk mengetahui informasi selengkapnya.

Penggunaan umum

  1. Buat kumpulan kartu menggunakan hierarki tampilan standar atau class CardBuilder.
  2. Terapkan CardScrollAdapter untuk menyediakan kumpulan kartu ke CardScrollView. Setiap kartu memiliki ID Object unik dan mewakili item Object tertentu.
  3. Setel tampilan konten aktivitas Anda menjadi CardScrollView atau gunakan CardScrollView dalam tata letak.

Menangani scroll dan interaksi

CardScrollView memberi tahu Anda dengan antarmuka pemroses berikut yang diwarisi dari AdapterView:

Class Bertingkat
enum CardScrollView.Animation Menentukan jenis animasi yang digunakan untuk membuka, menyisipkan, atau menghapus kartu.
Konstanta Turunan
Kolom yang Diwarisi
Konstruktor Publik
CardScrollView(Konteks Konteks, atribut AttributeSet, int defStyle)
Metode Publik
void
boolean
animate(int position, CardScrollView.Animation animationType)
void
CardScrollAdapter
long
int
View
boolean
boolean
boolean
onKeyDown(int keyCode, peristiwa KeyEvent)
void
onWindowFocusChanged(boolean hasWindowFocus)
void
void
setEmptyView(View emptyView)
void
setHorizontalScrollBarEnabled(boolean diaktifkan)
void
setSelection(int position)
Metode yang Dilindungi
boolean
boolean
void
void
onLayout(boolean berubah, int kiri, int atas, int kanan, int bawah)
void
onVisibilityChanged(View changedView, visibilitas int)
Metode Turunan

Konstruktor Publik

Ditambahkan di API level XE12

publik CardScrollView (Konteks Konteks)

Ditambahkan di API level XE12

publik CardScrollView (Konteks Context, AttributeSet attrs)

Ditambahkan di API level XE12

publik CardScrollView (Konteks Konteks, AttributeSet attrs, int defStyle)

Metode Publik

Ditambahkan di API level XE12

publik kosong aktifkan ()

Memberi tahu CardScrollView untuk mengaktifkan dan siap ditampilkan. TODO(ajcbik): selidiki apakah kita dapat mengganti [de]activate dengan peristiwa fokus.

Ditambahkan di API level XE21

publik boolean animasikan (int position, CardScrollView.Animation animationType)

Menganimasikan untuk kartu pada posisi tertentu, dengan animationType harus berupa salah satu dari:

  • NAVIGATION: berpindah ke kartu tertentu dari posisi mana pun, navigasi reguler,
  • INSERTION: berpindah ke kartu tertentu, yang muncul di tampilan, setelah penyisipan,
  • DELETION: kartu yang diberikan akan menghilang dari tampilan, jika dipilih, setelah dihapus.
Animasi akan dilewati jika scroller dinonaktifkan, jika animasi otonom sebelumnya diaktifkan masih berlangsung, atau jika posisinya tidak valid. Animasi penghapusan hanya terjadi jika kartu saat ini dipilih.

Animasi penyisipan dan penghapusan harus digunakan setelah melakukan mutasi yang sesuai di CardScrollAdapter. Animasi akan memanggil notifyDataSetChanged() di adaptor pada saat yang tepat dalam animasi, bahkan ketika dilewati atau dihentikan lebih awal.

Contoh penggunaan:

 .... insert card at p-th position in adapter ....
 animate(p, INSERTION);    // calls notifyDataSetChanged() on adapter
 

Parameter
position kartu yang terlibat dalam animasi
animationType mengontrol jenis animasi yang akan digunakan
Hasil
  • apakah animasi dimulai atau tidak
Ditambahkan di API level XE12

publik kosong nonaktifkan ()

Memberi tahu CardScrollView untuk menonaktifkan; data tidak akan ditampilkan sampai setelah activate() dipanggil lagi.

Ditambahkan di API level XE12

publik CardScrollAdapter getAdapter ()

publik panjang getSelectedItemId ()

Ditambahkan di API level XE12

publik Int getSelectedItemPosition ()

Ditambahkan di API level XE12

publik Lihat getSelectedView ()

Ditambahkan di API level XE12

publik boolean isActivated ()

publik boolean isHorizontalScrollBarEnabled ()

publik boolean onKeyDown (int keyCode, KeyEvent)

publik kosong onWindowFocusChanged (boolean hasWindowFocus)

Ditambahkan di API level XE12

publik kosong setAdapter (Adaptor CardScrollAdapter)

publik kosong setEmptyView (Lihat emptyView)

setEmptyView(View) tidak didukung oleh CardScrollView.

Untuk mendapatkan animasi yang tepat dan perilaku yang dapat ditarik, gunakan adaptor dengan satu tampilan kosong untuk set data kosong sebagai gantinya.

publik kosong setHorizontalScrollBarEnabled (boolean diaktifkan)

Ditambahkan di API level XE12

publik kosong setSelection (int position)

Metode yang Dilindungi

dilindungi boolean awakenScrollBars ()

Mengaktifkan scrollbar horizontal, jika ada.

dilindungi boolean dispatchGenericFocusedEvent (Peristiwa MotionEvent)

dilindungi kosong initializeScrollbars (TypedArray a)

Ditambahkan di API level XE12

dilindungi kosong onLayout (boolean berubah, int kiri, int atas, int kanan, int bawah)

dilindungi kosong onVisibilityChanged (Lihat changedView, visibilitas int)