Widok kart

Dodano w poziomie API XE12

View, który wyświetla przewijane w poziomie wyświetlenia dzieci, nazywane kartami.

Karty pochodzą z CardScrollAdapter powiązanego z: CardScrollView. Każda karta przedstawia konkretny element Object.

Więcej informacji znajdziesz w artykule Przewijanie kart w aktywnościach.

Zastosowanie ogólne

  1. Utwórz zestaw kart za pomocą standardowej hierarchii widoków lub klasy CardBuilder.
  2. Zaimplementuj CardScrollAdapter, aby dostarczyć zestaw kart do: CardScrollView. Każda karta ma unikalny identyfikator Object i reprezentuje określony element Object.
  3. Ustaw widok treści aktywności na CardScrollView lub użyj CardScrollView w układzie.

Obsługa przewijania i interakcji

CardScrollView powiadamia o interfejsach użytkownika dziedziczonych z AdapterView:

Zajęcia zagnieżdżone
enum | typ wyliczeniowy CardScrollView.Animacja Określa typ animacji używany do nawigacji, wstawienia lub usunięcia karty. 
Dziedziczone stałe
Dziedziczone pola
Konstruktorzy publiczny
CardScrollView(kontekst, atrybut Atrybut, atrybut int defStyle)
Metody publiczne
nieważny
wartość logiczna
animacja(intint, pozycjaCardScrollView.anim animacjiType)
nieważny
Adapter
długi
int,
Wyświetl
wartość logiczna
wartość logiczna
wartość logiczna
onKeyDown(int keyCode, KeyEvent)
nieważny
onWindowfocusChanged(wartość logiczna hasWindowfocus)
nieważny
nieważny
setemptyView(ViewemptyView)
nieważny
setHorizontalScrollBarEnabled(wartość logiczna włączona)
nieważny
setSelection(pozycja początkowa)
Metody chronione
wartość logiczna
wartość logiczna
nieważny
nieważny
onLayout(wartość logiczna zmieniona, int left, int top, int right, intbottom)
nieważny
onWidocznośćChanged(View changeView, Int View)
Metody dziedziczone

Konstruktorzy publiczny

Dodano w poziomie API XE12

public CardScrollView (kontekst)

Dodano w poziomie API XE12

public CardScrollView (kontekst, Atrybut Atrybut)

Dodano w poziomie API XE12

public CardScrollView (kontekst, atrybuty, int defStyle)

Metody publiczne

Dodano w poziomie API XE12

public void activate ()

Informuje urządzenie CardScrollView o aktywacji i gotowości do wyświetlenia TODO(ajcbik): sprawdź, czy możemy zastąpić [de]activate zdarzeniami koncentracji, zobacz żądanie b/17574566.

Dodano w poziomie API XE21

publicznie wartość logiczna animate (pozycja początkowa, CardScrollView.anim animacjaType)

Animacje karty w określonym miejscu, gdzie animationType powinna być jedną z tych opcji:

  • NAVIGATION: przesuwa się na określoną kartę z dowolnej pozycji, regularnej nawigacji,
  • INSERTION: powoduje przejście na daną kartę, która pojawi się na ekranie po wstawieniu.
  • DELETION: po usunięciu karta znika.
Animacja jest pomijana, jeśli przewijanie jest wyłączone, animacja nadal jest aktywna lub położenie jest nieprawidłowe. Animacja usunięcia ma miejsce tylko wtedy, gdy wybrana jest usunięta karta.

Należy użyć animacji wstawiania i usuwania po wykonaniu mutacji w pliku CardScrollAdapter. Animacja wywołuje metodę notifyDataSetChanged() na adapterze w odpowiednim momencie animacji, nawet jeśli została ona pominięta lub zakończona na wczesnym etapie.

Przykładowe zastosowanie:

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

Parametry
position karty używanej do animacji
animacjeType steruje typem animacji
Zwraca
  • Określa, czy została uruchomiona animacja.
Dodano w poziomie API XE12

public void deactivate ()

Informuje CardScrollView, że ma zostać zdezaktywowane. Pojawi się dopiero po ponownym wywołaniu metody activate().

Dodano w poziomie API XE12

publicznie CardScrollAdapter getAdapter ()

public long getSelectedItemId ()

Dodano w poziomie API XE12

public int getSelectedItemPosition ()

Dodano w poziomie API XE12

publicznie Wyświetl getSelectedView ()

Dodano w poziomie API XE12

wartości publicznej wartość logiczna isActivated ()

publiczne wartość logiczna isHorizontalScrollBarEnabled ()

public boolean onKeyDown (intkeyCode, zdarzenie KeyEvent)

public void onWindowfocusChanged (wartość hasWindowfocus)

Dodano w poziomie API XE12

publiczny void setAdapter (adapter karty Card)

public void setemptyView (View pustyView)

setEmptyView(View) nie jest obsługiwany w CardScrollView.

Aby uzyskać właściwą animację i przewijanie, użyj adaptera z jednym pustym widokiem danych w przypadku pustych zbiorów danych.

public void setHorizontalScrollBarEnabled (włączenie wartości logicznej)

Dodano w poziomie API XE12

public void setSelection (pozycja początkowa)

Metody chronione

chroniona wartość logiczna awakenScrollBars ()

Wybudza poziomy pasek przewijania (jeśli jest).

chronione wartość logiczna disscriptGeneralfocusedEvent (MotionEvent)

chronione void InitializeScrollbars (TypedArray a)

Dodano w poziomie API XE12

Protect void onLayout (wartość logiczna zmieniona, int left, int top, int right, intbottom)

chroniony void onVisibleChanged (View changeView, intWidoczność)