CardScrollView

Adicionado no nível da API XE12

Uma View que mostra visualizações filhas de rolagem horizontal. chamados de cartões.

Os cards vêm do CardScrollAdapter que está associado ao CardScrollView. Cada card representa visualmente um determinado item do Object.

Consulte Rolagem de cards em atividades para mais informações.

Uso geral

  1. Crie um conjunto de cards usando uma hierarquia de visualização padrão ou a classe CardBuilder.
  2. Implemente um CardScrollAdapter para fornecer o conjunto de cartões ao CardScrollView. Cada cartão tem um identificador Object exclusivo e representa um determinado item Object.
  3. Defina a visualização de conteúdo da sua atividade como CardScrollView ou use o CardScrollView em um layout.

Como processar a rolagem e a interação

CardScrollView notifica você com as seguintes interfaces de listener que são herdadas de AdapterView:

Classes aninhadas
enum CardScrollView.Animation Define o tipo de animação usado para navegar, inserir ou excluir um card.
Constantes herdadas
Campos herdados
Construtores públicos
CardScrollView(contexto de contexto)
CardScrollView(contexto de contexto, atributos AttributeSet)
CardScrollView(contexto de contexto, atributos AttributeSet, int defStyle)
Métodos públicos
void
booleano
animate(posição int, CardScrollView.AnimationAnimationType)
void
CardScrollAdapter
long
int
Ver
booleano
booleano
booleano
onKeyDown(int keyCode, evento KeyEvent)
void
onWindowFocusChanged(booleano hasWindowFocus)
void
void
void
setHorizontalScrollBarEnabled(ativação de booleano)
void
setSelection(posição int)
Métodos protegidos
booleano
booleano
void
void
onLayout(booleano alterado, int left, int top, int right, int bottom)
void
onVisibilityChanged(View changedView, int visibility)
Métodos herdados

Construtores públicos

Adicionado no nível da API XE12

públicas CardScrollView (Contexto do contexto)

Adicionado no nível da API XE12

públicas CardScrollView (Contexto de contexto, AttributeSet attrs)

Adicionado no nível da API XE12

públicas CardScrollView (Contexto de contexto, AttributeSet attrs, int defStyle)

Métodos públicos

Adicionado no nível da API XE12

públicas anular ativar ()

Instrui o CardScrollView a ativar e ficar pronto para exibição. TODO(ajcbik): investigar se podemos substituir [de]activate por eventos de foco.

Adicionado no nível da API XE21

públicas booleano animação (posição int, CardScrollView.AnimationAnimationType)

Anima o card em uma determinada posição, em que animationType precisa ser um dos seguintes:

  • NAVIGATION: move-se para um card em qualquer posição, navegação regular,
  • INSERTION: move para um determinado card, que aparece na visualização após a inserção,
  • DELETION: o cartão em questão desaparece da visualização, se selecionado, após a exclusão.
. A animação será ignorada se o botão de rolagem estiver desativado, se houver uma animação autônoma anterior ainda em andamento ou se a posição for inválida. Uma animação de exclusão ocorre apenas se o evento card está selecionado no momento.

A animação de inserção e exclusão precisa ser usada depois da mutação correspondente em CardScrollAdapter. A animação chamará notifyDataSetChanged() o adaptador no momento adequado da animação, mesmo quando ignorado ou encerrado antecipadamente.

Exemplo de uso:

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

Parâmetros
posição do cartão envolvido na animação
animationType controla o tipo de animação a ser usado
Retorna
  • se a animação foi iniciada
Adicionado no nível da API XE12

públicas anular desativar ()

Instrui o CardScrollView a desativar. ele não será exibido até activate() é chamado novamente.

Adicionado no nível da API XE12

públicas CardScrollAdapter getAdapter ()

públicas longos getSelectedItemId ()

Adicionado no nível da API XE12

públicas int. getSelectedItemPosition ()

Adicionado no nível da API XE12

públicas Ver getSelectedView ()

Adicionado no nível da API XE12

públicas booleano isActivated ()

públicas booleano isHorizontalScrollBarEnabled ()

públicas booleano onKeyDown (int keyCode, evento KeyEvent)

públicas anular onWindowFocusChanged (boolean hasWindowFocus)

Adicionado no nível da API XE12

públicas anular setAdapter (adaptador do CardScrollAdapter)

públicas anular setEmptyView (Ver emptyView)

O setEmptyView(View) não tem suporte do CardScrollView.

Para ter animação adequada e comportamento ajustável, use um adaptador com uma única visualização vazia para conjuntos de dados vazios.

públicas anular setHorizontalScrollBarEnabled (ativação booleana)

Adicionado no nível da API XE12

públicas anular setSelection (posição int)

Métodos protegidos

protegia booleano awakenScrollBars ()

Ativa a barra de rolagem horizontal, se houver.

protegia booleano dispatchGenericFocusedEvent (evento MotionEvent)

protegia anular initializeScrollbars (TypedArray a)

Adicionado no nível da API XE12

protegia anular onLayout (booleano alterado, int left, int top, int right, int bottom)

protegia anular onVisibilityChanged (Ver changedView, visibilidade int)