CardScrollView

API レベル XE12 で追加されました。

View は、水平方向にスクロールする子ビューを表示します。これはカードと呼ばれます。

カードは、CardScrollView に関連付けられている CardScrollAdapter から取得されます。各カードは特定の Object アイテムを視覚的に表しています。

詳しくは、アクティビティでカードをスクロールするをご覧ください。

一般的な使用方法

  1. 標準的なビュー階層または CardBuilder クラスを使用して一連のカードを作成します。
  2. CardScrollAdapter を実装して、カードのセットを CardScrollView に提供します。各カードには一意の Object 識別子があり、特定の Object アイテムを表します。
  3. アクティビティのコンテンツ ビューを CardScrollView に設定するか、レイアウトで CardScrollView を使用します。

スクロールと操作の処理

CardScrollView は、AdapterView から継承される次のリスナー インターフェースを通知します。

ネストされたクラス
enum CardScrollView.Animation カードの移動、挿入、削除に使用されるアニメーションの種類を定義します。
継承される定数
継承されるフィールド
パブリック コンストラクタ
CardScrollViewContext コンテキスト)
CardScrollViewContext コンテキスト、AttributeSet属性)
CardScrollViewContext コンテキスト、AttributeSet attr、int defStyle)
パブリック メソッド
void
ブール値
animate(int position, CardScrollView.AnimationAnimationType)
void
CardScrollAdapter
長い
int
表示
ブール値
ブール値
ブール値
onKeyDown(int keyCode、KeyEvent イベント)
void
onWindowFocusChanged(boolean hasWindowFocus)
void
setAdapterCardScrollAdapter アダプター)
void
setEmptyViewView emptyView)
void
setHorizontalScrollBarEnabled(ブール値の有効化)
void
setSelection(int position)
保護されたメソッド
ブール値
ブール値
void
void
onLayout(ブール値の変更、int 左、int 上、int 右、int 下部)
void
onVisibilityChangedView changedView、intvisible)
継承されるメソッド

パブリック コンストラクタ

API レベル XE12 で追加

public CardScrollView コンテキスト コンテキスト)

API レベル XE12 で追加

public CardScrollView (コンテキスト コンテキスト、AttributeSet attrs)

API レベル XE12 で追加

public CardScrollView コンテキスト コンテキスト、AttributeSet attrs、int defStyle)

パブリック メソッド

API レベル XE12 で追加

public void 有効化 ()

CardScrollView を有効化して表示の準備をします。 TODO(ajcbik): [de]activate をフォーカス イベントに置き換えることができるかどうかを調査します。詳しくは b/17574566 リクエストをご覧ください。

API レベル XE21 で追加

public

特定の位置のカードをアニメーション化します。ここで、animationType は次のいずれかになります。

  • NAVIGATION: 任意の位置から通常のカードに移動する、通常のナビゲーション、
  • INSERTION: 指定したカードに移動します。挿入された後、ビューに表示されます。
  • DELETION: 削除すると、指定されたカードがビューに表示されなくなります。
スクローラーが無効になっている場合、前の自律アニメーションがまだ進行中の場合、または位置が無効な場合、アニメーションはスキップされます。削除アニメーションは、削除されたカードが現在選択されている場合にのみ行われます。

挿入と削除のアニメーションは、CardScrollAdapter で対応するミューテーションを行った後に使用してください。アニメーションは、スキップまたは終了した場合でも、アニメーションの適切なタイミングでアダプタで notifyDataSetChanged() を呼び出します。

使用例:

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

パラメータ
位置アニメーションに関係するカードの割合
imageType使用するアニメーションのタイプを制御します
戻り値
  • アニメーションが開始
API レベル XE12 で追加

public void 無効化 ()

CardScrollView に無効にするように指示します。activate() が再度呼び出されるまで表示されません。

API レベル XE12 で追加

public CardScrollAdapter getAdapter ()

public long getSelectedItemId ()

API レベル XE12 で追加

public int getSelectedItemPosition ()

API レベル XE12 で追加

public View getSelectedView ()

API レベル XE12 で追加

public boolean isActivated ()

public boolean isHorizontalScrollBarEnabled ()

public boolean onKeyDown (int keyCode, KeyEvent イベント)

public void onWindowFocusChanged (ブール値 hasWindowFocus)

API レベル XE12 で追加

public void setAdapter (CardScrollAdapter アダプター)

public void setEmptyView View emptyView)

setEmptyView(View)CardScrollView でサポートされていません。

アニメーションやタグ動作が適切に機能するよう、空のデータセットには空のビューを 1 つだけ含むアダプタを使用してください。

public void setHorizontalScrollBarEnabled (ブール値の有効化)

API レベル XE12 で追加

public void setSelection (int position)

保護されたメソッド

protected ブール値 awakenScrollBars ()

水平スクロールバーが起動します(存在する場合)。

protected ブール値 dispatchGenericFocusedEvent MotionEvent イベント)

protected void initializeScrollbars (TypedArray a)

API レベル XE12 で追加

protected void onLayout (ブール値の変更、int left、int top、int right、int bottom)

protected void onVisibilityChanged View changedView、intvisible)