CardScrollView

API 수준 XE12에 추가되었습니다.

가로로 스크롤되는 하위 뷰를 보여주는 View이며 이를 카드라고 합니다.

카드는 CardScrollView와 연결된 CardScrollAdapter에서 가져옵니다. 각 카드는 특정 Object 항목을 시각적으로 나타냅니다.

자세한 내용은 활동의 카드 스크롤을 참고하세요.

일반 사용법

  1. 표준 뷰 계층 구조 또는 CardBuilder 클래스를 사용하여 카드 집합을 빌드합니다.
  2. CardScrollAdapter를 구현하여 카드 세트를 CardScrollView에 제공합니다. 각 카드에는 고유한 Object 식별자가 있으며 특정 Object 항목을 나타냅니다.
  3. 활동의 콘텐츠 뷰를 CardScrollView로 설정하거나 레이아웃에서 CardScrollView를 사용합니다.

스크롤 및 상호작용 처리

CardScrollViewAdapterView에서 상속된 다음 리스너 인터페이스로 알려줍니다.

중첩된 클래스
enum CardScrollView.Animation 카드를 탐색, 삽입 또는 삭제하는 데 사용되는 애니메이션 유형을 정의합니다. 
상속된 상수
상속된 필드
공개 생성자
CardScrollView(컨텍스트 컨텍스트, AttributeSet 속성)
CardScrollView(컨텍스트 컨텍스트, AttributeSet 속성, int defStyle)
공개 메서드
void
boolean
animate(int 위치, CardScrollView.Animation animationType)
void
CardScrollAdapter
long
int
getSelectedItemPosition() 클래스의 생성자
보기
boolean
boolean
boolean
onKeyDown(int keyCode, KeyEvent 이벤트)
void
onWindowFocusChanged(부울 hasWindowFocus)
void
void
setEmptyView(View emptyView)
void
setHorizontalScrollBarEnabled(부울 사용 설정)
void
setSelection(정수 위치)
보호되는 메서드
boolean
boolean
void
void
onLayout(부울 변경됨, int 왼쪽, int 상단, int 오른쪽, int 하단)
void
onVisibilityChanged(View changedView, intVisibility)
상속된 메서드

공개 생성자

API 수준 XE12에 추가되었습니다.

public CardScrollView (컨텍스트 컨텍스트)

API 수준 XE12에 추가되었습니다.

public CardScrollView (컨텍스트 컨텍스트, AttributeSet 속성)

API 수준 XE12에 추가되었습니다.

public CardScrollView (컨텍스트 컨텍스트, AttributeSet attrs, int defStyle)

공개 메서드

API 수준 XE12에 추가되었습니다.

공개 무효 활성화 ()

CardScrollView에 활성화하여 표시할 준비가 되었음을 알립니다. TODO(ajcbik): [de]activate로 포커스 이벤트를 대체할 수 있는지 조사합니다. b/17574566 요청을 참조하세요.

API 수준 XE21에 추가되었습니다.

public 부울 animate (int position, CardScrollView.Animation animationType)

지정된 위치의 카드에 애니메이션을 적용합니다. 여기서 animationType는 다음 중 하나여야 합니다.

  • NAVIGATION: 모든 위치에서 지정된 카드로 이동, 일반 탐색,
  • INSERTION: 지정된 카드로 이동하고 삽입 후 뷰에 표시됩니다.
  • DELETION: 선택된 경우 카드가 삭제된 후 뷰에서 사라집니다.
스크롤러가 비활성화되었거나 이전 자율 애니메이션이 여전히 진행 중이거나 위치가 잘못된 경우 애니메이션을 건너뜁니다. 삭제 애니메이션은 현재 삭제된 카드가 선택된 경우에만 발생합니다.

삽입 및 삭제 애니메이션은 CardScrollAdapter에서 상응하는 변형을 한 후 사용되어야 합니다. 애니메이션은 애니메이션의 적절한 순간에 어댑터에서 notifyDataSetChanged()를 호출하며, 이는 일찍 건너뛰거나 종료된 경우에도 마찬가지입니다.

사용 예시는 다음과 같습니다.

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

매개변수
position 애니메이션에 포함된 카드의
애니메이션 유형 사용할 애니메이션 유형 제어
반환 값
  • 애니메이션 시작 여부
API 수준 XE12에 추가되었습니다.

public void 비활성화 ()

CardScrollView에 비활성화하도록 지시합니다. activate()가 다시 호출될 때까지 표시되지 않습니다.

API 수준 XE12에 추가되었습니다.

public CardScrollAdapter getAdapter ()

public long getSelectedItemId ()

API 수준 XE12에 추가되었습니다.

public int getSelectedItemPosition ()

API 수준 XE12에 추가되었습니다.

public 보기 getSelectedView ()

API 수준 XE12에 추가되었습니다.

public 부울 isActivated ()

public 부울 isHorizontalScrollBarEnabled ()

public 부울 onKeyDown (int keyCode, KeyEvent 이벤트)

public void onWindowFocusChanged (boolean hasWindowFocus)

API 수준 XE12에 추가되었습니다.

public void setAdapter (CardScrollAdapter 어댑터)

public void setEmptyView (View emptyView)

setEmptyView(View)CardScrollView에서 지원하지 않습니다.

적절한 애니메이션 및 튜터링 동작을 사용하려면 대신 빈 데이터 세트에 단일 빈 뷰가 있는 어댑터를 사용합니다.

public void setHorizontalScrollBarEnabled (불리언 사용 설정)

API 수준 XE12에 추가되었습니다.

public void setSelection (int position)

보호되는 메서드

보호됨 부울 awakenScrollBars ()

가로 스크롤바를 활성화합니다(있는 경우).

보호됨 부울 dispatchGenericFocusedEvent (MotionEvent 이벤트)

보호됨 void initializeScrollbars (TypedArray a)

API 수준 XE12에 추가되었습니다.

보호됨 void onLayout (부울 변경됨, int 왼쪽, int 상단, int 오른쪽, int 하단)

보호됨 void onVisibilityChanged (View changedView, intVisibility)