CardScrollView

Adicionado no nível XE12 da API

Uma View que mostra visualizações filhas de rolagem horizontal, chamadas de cards.

Os cards vêm de CardScrollAdapter associado ao CardScrollView. Cada card representa visualmente um determinado item da Object.

Consulte Cards de rolagem 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 cards para o CardScrollView. Cada cartão tem um identificador Object exclusivo e representa um determinado item de Object.
  3. Defina a visualização do conteúdo da atividade como CardScrollView ou use CardScrollView em um layout.

Processar a rolagem e a interação

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

Classes aninhadas
tipo enumerado CardScrollView.Animation Define o tipo de animação usado para navegar, inserir ou excluir um cartão. 
Constantes herdadas
Campos herdados
Construtores públicos
CardScrollView (contexto de contexto e atributos AttributeSet)
CardScrollView(contexto de contexto, atributos AttributeSet, int defStyle)
Métodos públicos
void
boolean
animate(posição in-line, animação CardScrollView.Animation)
void
CardScrollAdapter
long
int
Ver
boolean
boolean
boolean
onKeyDown(int keyCode, evento KeyEvent)
void
onWindowFocusChanged(boolean hasWindowFocus)
void
void
setEmptyView(View emptyView)
void
setHorizontalScrollBarEnabled(booleano ativado)
void
setSelection(posição int)
Métodos protegidos
boolean
awakenScrollBars (link em inglês)
boolean
void
void
onLayout(booleano alterado, int esquerdo, int superior, int direito, int bottom)
void
onVisibilityChanged(visualizar changedView, visibilidade int)
Métodos herdados

Construtores públicos

Adicionado no nível XE12 da API

público CardScrollView (contexto context)

Adicionado no nível XE12 da API

pública CardScrollView (contexto de context, atributos AttributeSet)

Adicionado no nível XE12 da API

pública CardScrollView (contexto Context, AttributeSet attrs, int defStyle)

Métodos públicos

Adicionado no nível XE12 da API

público vazio ativar ()

Diz ao CardScrollView para ativar e ficar pronto para exibição. TODO(ajcbik): investigar se podemos substituir [de]ativar por eventos de foco. Consulte a solicitação b/17574566.

Adicionado no nível XE21 da API

booleano booleano animate (int posição, CardScrollView.Animation animationType)

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

  • NAVIGATION: é movido para o card específico de qualquer posição, navegação regular,
  • INSERTION: move para o cartão mostrado na visualização, após a inserção.
  • DELETION: o card desaparece da visualização, se selecionada, após a exclusão.
A animação será ignorada se o controle de rolagem estiver desativado, se uma animação autônoma anterior ainda estiver em andamento ou se a posição for inválida. Uma animação de exclusão ocorre apenas se o cartão excluído estiver selecionado.

Use a animação de inserção e exclusão depois de fazer a mutação correspondente no CardScrollAdapter. A animação chamará notifyDataSetChanged() no adaptador no momento adequado, mesmo quando pulada ou encerrada antecipadamente.

Exemplo de uso:

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

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

público vazio desativar ()

Informa ao CardScrollView para desativar a atividade, que não será exibido até que activate() seja chamado novamente.

Adicionado no nível XE12 da API

público CardScrollAdapter getAdapter ()

pública longa getSelectedItemId ()

Adicionado no nível XE12 da API

público int getSelectedItemPosition ()

Adicionado no nível XE12 da API

público Ver getSelectedView ()

Adicionado no nível XE12 da API

booleano booleano isActivated ()

booleano booleano isHorizontalScrollBarEnabled ()

booleano booleano onKeyDown (int keyCode, KeyEvent)

vazio vazio onWindowFocusChanged (boolean hasWindowFocus)

Adicionado no nível XE12 da API

vazio vazio setAdapter (CardScrollAdapter)

vazio vazio setEmptyView (Ver emptyView)

O setEmptyView(View) não é compatível com o CardScrollView.

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

vazio vazio setHorizontalScrollBarEnabled (booleano ativado)

Adicionado no nível XE12 da API

public void setSelection (int position)

Métodos protegidos

booleano booleano awakenScrollBars ()

Ativa a barra de rolagem horizontal, se houver.

booleano booleano dispatchGenericFocusedEvent (evento MotionEvent)

protegido vazio InitializeScrollbars (TypedArray a)

Adicionado no nível XE12 da API

protegida vazia onLayout (booleano alterado, int esquerdo, int top, int right, int bottom)

com proteção vazia onVisibilityChanged (Ver changedView, visibilidade int)