Karten-Scrollansicht

In API-Ebene XE12 hinzugefügt

Ein View, das horizontal scrollbare Ansichten für Kinder anzeigt werden als Infokarten bezeichnet.

Die Karten stammen vom CardScrollAdapter, der mit dem CardScrollView. Jede Karte stellt ein bestimmtes Object-Element visuell dar.

Weitere Informationen finden Sie unter . Scrollen von Karten in Aktivitäten, um weitere Informationen zu erhalten.

Allgemeine Verwendung

  1. Erstelle einen Satz Karten mithilfe einer Standardansichtshierarchie oder der Klasse CardBuilder.
  2. Implementiere ein CardScrollAdapter, um den Satz Karten an den CardScrollView. Jede Karte hat eine eindeutige Object-Kennung und steht für ein bestimmtes Object-Element.
  3. Lege die Inhaltsansicht deiner Aktivität auf CardScrollView fest oder verwende die CardScrollView in einem Layout.

Scrollen und Interaktionen handhaben

CardScrollView benachrichtigt Sie über die folgenden Listener-Oberflächen, die von AdapterView übernommen:

Verschachtelte Klassen
enum CardScrollView.Animation Definiert den Animationstyp, der zum Navigieren zu einer Karte, zum Einfügen oder Löschen einer Karte verwendet wird.
Übernommene Konstanten
Übernommene Felder
Public Constructors
CardScrollView(Context-Kontext, AttributeSet-Attribut)
CardScrollView(Context context, AttributeSet attrs, int defStyle)
Public Methods
voidm
boolean
animate(int position, CardScrollView.Animation animationType)
voidm
CardScrollAdapter
long
int
Ansicht
boolean
boolean
boolean
onKeyDown(int keyCode, KeyEvent-Ereignis)
voidm
onWindowFocusChanged(boolescher hasWindowFocus)
voidm
voidm
setEmptyView(Ansicht emptyView)
voidm
setHorizontalScrollBarEnabled(boolesch aktivieren)
voidm
setSelection(int-Position)
Geschützte Methoden
boolean
boolean
voidm
voidm
onLayout(Boolescher Wert geändert, int left, int top, int right, int bottom)
voidm
onVisibilityChanged(View changedView, int visibility)
Übernommene Methoden

Public Constructors

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich CardScrollView (Kontext)

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich CardScrollView (Context-Kontext, AttributeSet-Attribut)

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich CardScrollView (Context context, AttributeSet attrs, int defStyle)

Public Methods

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich voidm aktivieren ()

Weist das Gerät an, CardScrollView zu aktivieren und bereit zum Anzeigen zu sein. TODO(ajcbik): Untersuchen Sie, ob wir [de]activate durch Fokusereignisse ersetzen können.

In API-Ebene XE21 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich Boolescher Wert animieren (int position, CardScrollView.Animation animationType)

Animiert für eine Karte an einer bestimmten Position, wobei animationType einer der folgenden Werte sein sollte:

  • NAVIGATION: von einer beliebigen Position aus zu einer bestimmten Karte wechselt,
  • INSERTION: die zu einer bestimmten Karte gelangt, die nach dem Einfügen sichtbar ist,
  • DELETION: bestimmte Karte verschwindet nach dem Löschen nicht mehr in der Ansicht, falls diese ausgewählt ist.
Die Animation wird übersprungen, wenn der Scroller deaktiviert ist und eine vorherige autonome Animation oder die Position ist ungültig. Eine Löschanimation findet nur statt, wenn das Karte ist derzeit ausgewählt.

Die Einfügungs- und Löschanimation sollte verwendet werden, nachdem die entsprechende Mutation ausgeführt wurde. in „CardScrollAdapter“. Durch die Animation wird notifyDataSetChanged() aufgerufen bei den Adapter zum richtigen Zeitpunkt in der Animation, auch wenn er vorzeitig übersprungen oder beendet wird.

Verwendungsbeispiel:

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

Parameter
position der an der Animation beteiligten Karte.
animationType legt die Art der zu verwendenden Animation fest.
Gibt Folgendes zurück:
  • ob die Animation gestartet wurde
In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich voidm deaktivieren ()

Weist das CardScrollView an, Folgendes zu deaktivieren: wird er erst nach der activate() wird noch einmal aufgerufen.

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich CardScrollAdapter getAdapter ()

<ph type="x-smartling-placeholder"></ph> öffentlich lang getSelectedItemId ()

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich Ganzzahl getSelectedItemPosition ()

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich Ansicht getSelectedView ()

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich Boolescher Wert isActivated ()

<ph type="x-smartling-placeholder"></ph> öffentlich Boolescher Wert isHorizontalScrollBarEnabled ()

<ph type="x-smartling-placeholder"></ph> öffentlich Boolescher Wert onKeyDown (int keyCode, KeyEvent-Ereignis)

<ph type="x-smartling-placeholder"></ph> öffentlich voidm onWindowFocusChanged (boolescher hasWindowFocus)

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich voidm setAdapter (CardScrollAdapter-Adapter)

<ph type="x-smartling-placeholder"></ph> öffentlich voidm setEmptyView (Leere Ansicht anzeigen)

setEmptyView(View) wird nicht unterstützt durch den CardScrollView.

Um eine ordnungsgemäße Animation und ein aggregierbares Verhalten zu erreichen, verwenden Sie einen Adapter mit einem einzelnen leere Ansicht für leere Datensätze.

<ph type="x-smartling-placeholder"></ph> öffentlich voidm setHorizontalScrollBarEnabled (boolesch aktivieren)

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> öffentlich voidm setSelection (int-Position)

Geschützte Methoden

<ph type="x-smartling-placeholder"></ph> geschützt Boolescher Wert awakenScrollBars ()

Die horizontale Bildlaufleiste wird aktiviert, falls vorhanden.

<ph type="x-smartling-placeholder"></ph> geschützt Boolescher Wert dispatchGenericFocusedEvent (Ereignis MotionEvent)

<ph type="x-smartling-placeholder"></ph> geschützt voidm initializeScrollbars (TypedArray a)

In API-Ebene XE12 hinzugefügt

<ph type="x-smartling-placeholder"></ph> geschützt voidm onLayout (Boolescher Wert geändert, Ganzzahl links, int oben, int rechts, int unten)

<ph type="x-smartling-placeholder"></ph> geschützt voidm onVisibilityChanged (View geändertView, int visibility)