CardScrollView

Добавлено на уровне API XE12.

View , которое показывает горизонтальную прокрутку дочерних представлений, называемых карточками.

Карточки поступают из CardScrollAdapter , связанного с CardScrollView . Каждая карта визуально представляет определенный объект Object .

Дополнительные сведения см. в разделе Прокрутка карточек в действиях .

Общее использование

  1. Создайте набор карточек, используя стандартную иерархию представлений или класс CardBuilder .
  2. Реализуйте CardScrollAdapter для предоставления набора карточек в CardScrollView . Каждая карта имеет уникальный идентификатор Object и представляет определенный элемент Object .
  3. Настройте представление содержимого вашей активности как CardScrollView или используйте CardScrollView в макете.

Обработка прокрутки и взаимодействия

CardScrollView уведомляет вас о следующих интерфейсах прослушивателя, унаследованных от AdapterView :

  • AdapterView.OnItemSelectedListener — элемент выбирается после того, как пользователь завершит прокрутку списка и остановится на элементе.
  • AdapterView.OnItemClickListener — элемент щелкается , когда пользователь касается и отпускает выбранный элемент.
  • AdapterView.OnItemLongClickListener ) — элемент долго щелкается , когда пользователь нажимает, удерживает и отпускает выбранный элемент.

Вложенные классы
перечисление CardScrollView.Animation Определяет тип анимации, используемый для перехода, вставки или удаления карточки.
Унаследованные константы
Унаследованные поля
Публичные конструкторы
CardScrollView ( контекст контекста)
CardScrollView ( контекст контекста, атрибуты AttributeSet )
CardScrollView ( контекст контекста, атрибуты AttributeSet , int defStyle)
Публичные методы
пустота
логический
анимация (позиция int, CardScrollView.Animation animationType)
пустота
КартаПрокруткаАдаптер
длинный
инт
Вид
логический
логический
логический
onKeyDown (int keyCode, событие KeyEvent )
пустота
onWindowFocusChanged (логическое значение hasWindowFocus)
пустота
setAdapter (адаптер CardScrollAdapter )
пустота
setEmptyView ( Просмотреть пустой вид)
пустота
setHorizontalScrollBarEnabled (включение логического значения)
пустота
setSelection (внутренняя позиция)
Защищенные методы
логический
логический
пустота
пустота
onLayout (логическое значение изменено, int слева, int сверху, int справа, int снизу)
пустота
onVisibilityChanged ( просмотр измененного представления, видимость int)
Унаследованные методы

Public Constructors

Added in API level XE12

public CardScrollView ( Context context)

Added in API level XE12

public CardScrollView ( Context context, AttributeSet attrs)

Added in API level XE12

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

Публичные методы

Added in API level XE12

public void activate ()

Tells the CardScrollView to activate and be ready for display. TODO(ajcbik): investigate if we can replace [de]activate with focus events, see b/17574566 request.

Добавлено на уровне API XE21

public boolean animate (int position, CardScrollView.Animation animationType)

Animates for card at given position, where animationType should be one of:

  • NAVIGATION : moves to given card from any position, regular navigation,
  • INSERTION : moves to given card, which appears into view, after insertion,
  • DELETION : given card disappears from view, if selected, after deletion.
The animation is skipped if the scroller is deactivated, if a prior autonomous animation is still ongoing, or if the position is invalid. A deletion animation only occurs if the deleted card is currently selected.

The insertion and deletion animation should be used after doing the corresponding mutation in CardScrollAdapter . The animation will call the notifyDataSetChanged() on the adapter at the proper moment in the animation, even when skipped or terminated early.

Sample usage:

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

Параметры
position of the card involved in the animation
animationType controls the type of animation to use
Возвращает
  • whether animation was started
Added in API level XE12

public void deactivate ()

Tells the CardScrollView to deactivate; it will not be displayed until after activate() is called again.

Added in API level XE12

public CardScrollAdapter getAdapter ()

public long getSelectedItemId ()

Added in API level XE12

public int getSelectedItemPosition ()

Added in API level XE12

public View getSelectedView ()

Added in API level XE12

public boolean isActivated ()

public boolean isHorizontalScrollBarEnabled ()

public boolean onKeyDown (int keyCode, KeyEvent event)

public void onWindowFocusChanged (boolean hasWindowFocus)

Added in API level XE12

public void setAdapter ( CardScrollAdapter adapter)

public void setEmptyView ( View emptyView)

The setEmptyView(View) is unsupported by the CardScrollView .

To get proper animation and tuggable behavior, use an adapter with a single empty view for empty data sets instead.

public void setHorizontalScrollBarEnabled (boolean enable)

Added in API level XE12

public void setSelection (int position)

Protected Methods

protected boolean awakenScrollBars ()

Awakens the horizontal scrollbar, if any.

protected boolean dispatchGenericFocusedEvent ( MotionEvent event)

protected void initializeScrollbars ( TypedArray a)

Added in API level XE12

protected void onLayout (boolean changed, int left, int top, int right, int bottom)

protected void onVisibilityChanged ( View changedView, int visibility)