CardScrollView

Ditambahkan di API level XE12

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

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

Lihat Kartu scroll dalam aktivitas untuk informasi selengkapnya.

Penggunaan umum

  1. Buat kumpulan kartu menggunakan hierarki tampilan standar atau class CardBuilder.
  2. Implementasikan CardScrollAdapter untuk menyediakan kumpulan kartu ke CardScrollView. Setiap kartu memiliki ID Object yang unik dan mewakili item Object tertentu.
  3. Tetapkan tampilan konten aktivitas Anda ke CardScrollView atau gunakan CardScrollView di 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, memasukkan, atau menghapus kartu. 
Konstanta Turunan
Kolom Turunan
Konstruktor Publik
CardScrollView(konteks Konteks, atribut AttributeSet)
CardScrollView(konteks Konteks, atribut AttributeSet, int defStyle)
Metode Publik
void
boolean
animate(posisi int, CardScrollView.Animation animationType)
void
CardScrollAdapter
long
int
Lihat
boolean
boolean
boolean
onKeyDown(int keyCode, peristiwa KeyEvent)
void
onWindowFocusChanged(boolean hasWindowFocus)
void
void
setEmptyView(Tampilan kosongView)
void
setHorizontalScrollBarEnabled(pengaktifan boolean)
void
setSelection(posisi int)
Metode yang Dilindungi
boolean
boolean
void
void
onLayout(boolean diubah, int kiri, int atas, int kanan, int bawah)
void
onVisibilityChanged(View changeView, int visibilitas)
Metode Turunan

Konstruktor Publik

Ditambahkan di API level XE12

publik CardScrollView (konteks Konteks)

Ditambahkan di API level XE12

publik CardScrollView (konteks Konteks, AtributSet)

Ditambahkan di API level XE12

publik CardScrollView (konteks Konteks, AttributeSet attr, int defStyle)

Metode Publik

Ditambahkan di API level XE12

publik void aktifkan ()

Memberi tahu CardScrollView untuk mengaktifkan dan siap ditampilkan. TODO(ajcbik): selidiki jika kita dapat mengganti [de]aktifkan dengan peristiwa fokus, lihat permintaan b/17574566.

Ditambahkan di API level XE21

publik boolean animate (int posisi, CardScrollView.Animation animasiType)

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

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

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

Contoh penggunaan:

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

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

publik void nonaktifkan ()

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

Ditambahkan di API level XE12

publik CardScrollAdapter getAdapter ()

publik long 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 peristiwa)

publik void onWindowFocusChanged (boolean hasWindowFocus)

Ditambahkan di API level XE12

publik void setAdapter (CardScrollAdapter adapter)

publik void setEmptyView (ViewblankView)

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.

publik void setHorizontalScrollBarEnabled (boolean aktifkan)

Ditambahkan di API level XE12

publik void setSelection (int posisi)

Metode yang Dilindungi

dilindungi boolean awakenScrollBars ()

Mengaktifkan scrollbar horizontal, jika ada.

dilindungi boolean dispatchGenericFocusedEvent (peristiwa MotionEvent)

dilindungi void initializeScrollbars (TypedArray a)

Ditambahkan di API level XE12

dilindungi void onLayout (boolean diubah, int kiri, int atas, int kanan, int bawah)

dilindungi void onVisibilityChanged (View changeView, int visibilitas)