CardScrollView

Ajouté au niveau d'API XE12

Élément View qui affiche des vues enfants à défilement horizontal, appelées cartes.

Les cartes proviennent du CardScrollAdapter associé au CardScrollView. Chaque fiche représente visuellement un élément Object spécifique.

Pour en savoir plus, consultez Faire défiler des fiches dans les activités.

Utilisation générale

  1. Créez un ensemble de fiches à l'aide d'une hiérarchie de vues standard ou de la classe CardBuilder.
  2. Implémentez un CardScrollAdapter pour fournir l'ensemble de cartes à CardScrollView. Chaque carte possède un identifiant Object unique et représente un élément Object donné.
  3. Définissez la vue du contenu de votre activité sur CardScrollView ou utilisez CardScrollView dans une mise en page.

Gérer le défilement et l'interaction

CardScrollView vous informe avec les interfaces d'écouteur suivantes, héritées de AdapterView:

  • AdapterView.OnItemSelectedListener : un élément est sélectionné une fois que l'utilisateur a fini de faire défiler la liste et a choisi un élément.
  • AdapterView.OnItemClickListener : un clic est effectué sur un élément lorsque l'utilisateur appuie dessus, puis le relâche du doigt. Il est sélectionné.
  • AdapterView.OnItemLongClickListener) : un clic long est effectué sur un élément lorsque l'utilisateur appuie sur un élément sélectionné, le maintient à l'appui et le relâche.

Classes imbriquées
enum CardScrollView.Animation Définit le type d'animation utilisé pour accéder à une fiche, l'insérer ou la supprimer. 
Constantes héritées
Champs hérités
Constructeurs publics
CardScrollView(contexte Context, AttributeSet d'attributs)
CardScrollView(contexte Contexte, AttributeSet attributs, int defStyle)
Méthodes publiques
void
boolean
animate(position entière, CardScrollView.Animation animationType)
void
CardScrollAdapter
long
int
View
boolean
boolean
boolean
onKeyDown(int keyCode, événement KeyEvent)
void
onWindowFocusChanged(booléen hasWindowFocus)
void
void
setEmptyView(View emptyView)
void
void
setSelection(position entière)
Méthodes protégées
boolean
boolean
void
void
onLayout(valeur booléenne modifiée, int left, int top, int right, int bottom)
void
onVisibilityChanged(View changedView, int visibility)
Méthodes héritées

Constructeurs publics

Ajouté au niveau d'API XE12

public CardScrollView (contexte Context)

Ajouté au niveau d'API XE12

public CardScrollView (contexte Context, AttributeSet d'attrs)

Ajouté au niveau d'API XE12

public CardScrollView (contexte Context, AttributeSet attrs, int defStyle)

Méthodes publiques

Ajouté au niveau d'API XE12

public void activer ()

Demande à l'appareil CardScrollView de s'activer et d'être prêt à être affiché. TODO(ajcbik): vérifier s'il est possible de remplacer [de]activate par des événements de focus.

Ajouté au niveau d'API XE21

public booléen animate (int position, CardScrollView.Animation animationType)

S'anime pour la carte à la position donnée, où animationType doit être l'un des éléments suivants:

  • NAVIGATION : se déplace vers la fiche donnée depuis n'importe quelle position, navigation standard
  • INSERTION : passe à la fiche donnée, qui apparaît après l'insertion
  • DELETION : la carte donnée disparaît après la suppression, si elle est sélectionnée.
L'animation est ignorée si le conteneur de défilement est désactivé, si une animation autonome précédente est toujours en cours ou si la position n'est pas valide. Une animation de suppression ne s'affiche que si la carte supprimée est actuellement sélectionnée.

L'animation d'insertion et de suppression doit être utilisée après avoir effectué la mutation correspondante dans CardScrollAdapter. L'animation appelle notifyDataSetChanged() sur l'adaptateur au moment approprié de l'animation, même si elle est ignorée ou arrêtée plus tôt que prévu.

Exemple d'utilisation :

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

Paramètres
position de la fiche impliquée dans l'animation.
animationType contrôle le type d'animation à utiliser
Renvoie
  • si l'animation a été lancée
Ajouté au niveau d'API XE12

public vide désactiver ()

Demande à CardScrollView de désactiver. Il ne s'affichera qu'après le rappel de activate().

Ajouté au niveau d'API XE12

public CardScrollAdapter getAdapter ()

public long getSelectedItemId ()

Ajouté au niveau d'API XE12

public int getSelectedItemPosition ()

Ajouté au niveau d'API XE12

public Afficher getSelectedView ()

Ajouté au niveau d'API XE12

public booléen isActivated ()

public boolean isHorizontalScrollBarEnabled ()

public boolean onKeyDown (int keyCode, événement KeyEvent)

public void onWindowFocusChanged (boolean hasWindowFocus)

Ajouté au niveau d'API XE12

public void setAdapter (adaptateur CardScrollAdapter)

public void setEmptyView (View emptyView)

Le setEmptyView(View) n'est pas compatible avec CardScrollView.

Pour obtenir une animation et un comportement d'ajustement appropriés, utilisez plutôt un adaptateur avec une seule vue vide pour les ensembles de données vides.

public vide setHorizontalScrollBarEnabled (boolean enable)

Ajouté au niveau d'API XE12

public vide setSelection (int position)

Méthodes protégées

Protected booléen awakenScrollBars ()

Active la barre de défilement horizontale, le cas échéant.

Protected booléen dispatchGenericFocusedEvent (MotionEvent)

Protected void initializeScrollbars (TypedArray a)

Ajouté au niveau d'API XE12

Protected void onLayout (booléen modifié, int left, int top, int right, int bottom)

Protected void onVisibilityChanged (View changedView, int visibility)