CardScrollView

已新增至 API 等級 XE12

顯示水平捲動子項檢視畫面的 View,稱為資訊卡。

這些資訊卡來自與 CardScrollView 相關聯的 CardScrollAdapter。每張資訊卡都以視覺方式呈現特定的 Object 項目。

詳情請參閱在活動中捲動資訊卡

一般使用情況

  1. 使用標準檢視區塊階層或 CardBuilder 類別建構一組資訊卡。
  2. 實作 CardScrollAdapter 以提供一組資訊卡給 CardScrollView。每張卡片都有專屬的 Object ID,代表特定的 Object 項目。
  3. 將活動的內容檢視畫面設為 CardScrollView,或在版面配置中使用 CardScrollView

處理捲動和互動

CardScrollView 會通知下列沿用自 AdapterView 的事件監聽器介面:

巢狀類別
列舉 CardScrollView.Animation 用於定義用於瀏覽、插入或刪除資訊卡的動畫類型。
繼承的常數
沿用欄位
公用建構函式
CardScrollView (背景資訊結構定義、AttributeSet 屬性)
CardScrollView (結構定義結構定義、AttributeSet attrs、int defStyle)
公用方法
void
布林值
animate(int position, CardScrollView.Animation AnimationType)
void
CardScrollAdapter
整數
查看
布林值
布林值
布林值
onKeyDown (int keyCode、KeyEvent 事件)
void
onWindowFocusChanged(布林值 hasWindowFocus)
void
void
setEmptyView(View emptyView)
void
void
setSelection (整數位置)
保護方法
布林值
布林值
void
void
onLayout(布林值已變更, int left, int top, int right, intbottom)
void
onVisibilityChanged(View changedView, int 可見度)
繼承方法

公用建構函式

已新增至 API 等級 XE12

public CardScrollView(結構定義結構定義)

已新增至 API 等級 XE12

public CardScrollView(結構定義結構定義、AttributeSetattrs)

已新增至 API 等級 XE12

public CardScrollView(結構定義結構定義、AttributeSet attrs、int defStyle)

公用方法

已新增至 API 等級 XE12

公開 void 啟用 ()

指示 CardScrollView 啟用並準備顯示。 TODO(ajcbik):調查我們可以用焦點事件取代 [de]activate,請參閱 b/17574566 的要求。

已新增至 API 等級 XE21

公開 布林值 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
 

參數
位置播放動畫的資訊卡
動畫類型控制要使用的動畫類型
傳回
  • 是否開始播放動畫
已新增至 API 等級 XE12

公開 void deactivate ()

指示 CardScrollView 要停用,在再次呼叫 activate() 後才會顯示。

已新增至 API 等級 XE12

public CardScrollAdaptergetAdapter()

公開 long getSelectedItemId ()

已新增至 API 等級 XE12

public getSelectedItemPosition ()

已新增至 API 等級 XE12

公開 查看 getSelectedView ()

已新增至 API 等級 XE12

公開 布林值 isActivated ()

公開 布林值 isHorizontalScrollBarEnabled ()

公開 布林值 onKeyDown (int keyCode, KeyEvent 事件)

公開 void onWindowFocusChanged (布林值 hasWindowFocus)

已新增至 API 等級 XE12

公開 void setAdapter (CardScrollAdapter 轉接程式)

公開 void setEmptyView (查看 EmptyView)

CardScrollView 不支援 setEmptyView(View)

為取得適當的動畫和可偵測行為,請改為為空白資料集使用單一空白檢視畫面的轉接程式。

公開 void setHorizontalScrollBarEnabled (布林值啟用)

已新增至 API 等級 XE12

公開 void setSelection (整數位置)

保護方法

受保護 布林值 awakenScrollBars ()

喚醒水平捲軸 (如果有的話)。

受保護 布林值 dispatchGenericFocusedEvent (MotionEvent 事件)

受保護 void initScrollbars (TypedArray a)

已新增至 API 等級 XE12

受保護 void onLayout (布林值已變更, int left, int Top, int right, intbottom)

保護 void onVisibilityChanged (View changedView, int 可見度)