כרטיס גלילת מסך

נוסף ברמת API XE12

View שמוצגת בו גלילה אופקית של צפיות של ילדים, שנקראים 'כרטיסים'.

הכרטיסים מגיעים מהשדה CardScrollAdapter שמשויך אל CardScrollView. כל כרטיס מייצג באופן חזותי פריט מסוים ב-Object.

ראו למידע נוסף, גלילה בכרטיסים בפעילויות.

שימוש כללי

  1. בונים קבוצת כרטיסים באמצעות היררכיית תצוגה רגילה או המחלקה CardBuilder.
  2. להטמיע CardScrollAdapter כדי לספק את קבוצת הכרטיסים CardScrollView. לכל כרטיס יש מזהה Object ייחודי וגם מייצג פריט מסוים של Object.
  3. אפשר להגדיר את תצוגת התוכן של הפעילות לערך CardScrollView או להשתמש CardScrollView בפריסה.

טיפול בגלילה ובאינטראקציה

מקבלים התראות מ-CardScrollView באמצעות ממשקי המאזינים הבאים הועברה בירושה מ-AdapterView:

מחלקות מקוננות
טיפוסים בני מנייה (enum) CardScrollView.Animation המדיניות הזו מגדירה את סוג האנימציה שמשמשת לניווט אל הכרטיס, להוספה או למחיקה שלו.
קבועים שעברו בירושה
שדות שעברו בירושה
בנייה ציבורית
CardScrollView(הקשר הקשר, מאפיין AttributeSet)
CardScrollView(הקשר הקשר, מאפיין AttributeSet, int defStyle)
שיטות ציבוריות
ריק
בוליאני
אנימציה(מיקום בהפניה, סוג האנימציה CardScrollView.Animation)
ריק
CardScrollAdapter
long
int
תצוגה
בוליאני
בוליאני
בוליאני
onKeyDown(int keyCode, אירוע KeyEvent)
ריק
onWindowFocusChanged(boolean hasWindowFocus)
ריק
ריק
ריק
setHorizontalScrollBarEnabled(הפעלה בוליאנית)
ריק
setSelection(מיקום מודעה)
שיטות מוגנות
בוליאני
בוליאני
ריק
ריק
onLayout(בוליאני השתנה, int left, int top, int right, int below)
ריק
onVisibilityChanged(View changedView, int visibility)
שיטות שעברו בירושה

בנייה ציבורית

נוסף ברמת API XE12

ציבורי CardScrollView (הקשר הקשר)

נוסף ברמת API XE12

ציבורי CardScrollView (הקשר הקשר, AttributeSet מאפיין)

נוסף ברמת API XE12

ציבורי CardScrollView (הקשר הקשר, AttributeSet מאפיין, int defStyle)

שיטות ציבוריות

נוסף ברמת API XE12

ציבורי ריק הפעלה ()

אומרת ל-CardScrollView להתחיל לפעול ולהיות מוכנים להצגה. TODO(ajcbik): אפשר לבדוק אם אנחנו יכולים להחליף את [de]הפעלה באירועי התמקדות.

נוספה ברמת API XE21

ציבורי בוליאני אנימציה (מיקום, CardScrollView.Animation אנימציית סוג)

אנימציה לכרטיס במיקום נתון, כאשר animationType צריך להיות אחד מהבאים:

  • NAVIGATION: עובר לכרטיס נתון מכל מיקום, מניווט רגיל,
  • INSERTION: עובר לכרטיס נתון, שמופיע בתצוגה, לאחר ההכנסה,
  • DELETION: לאחר המחיקה, כרטיס מסוים ייעלם מהתצוגה, אם הוא ייבחר.
המערכת מדלגת על האנימציה אם הגלילה מושבתת, אם קיימת אנימציה אוטונומית קודמת עדיין בתוקף, או אם המיקום לא תקין. אנימציית מחיקה מתרחשת רק אם הקובץ נמחק הכרטיס מסומן כרגע.

לאחר ביצוע המוטציה המתאימה, יש להשתמש באנימציה של הוספה ומחיקה ב-CardScrollAdapter. האנימציה תפעיל את notifyDataSetChanged() ב- את המתאם ברגע המתאים באנימציה, גם אם דילגתם עליו או נסגר בשלב מוקדם.

דוגמאות לשימוש:

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

פרמטרים
position של הכרטיס שמעורב באנימציה
animationType קובע את סוג האנימציה לשימוש
החזרות
  • האם האנימציה התחילה
נוסף ברמת API XE12

ציבורי ריק השבתה ()

מורה ל-CardScrollView להשבית; הוא לא יוצג עד לאחר מתבצעת שיחה חוזרת אל activate().

נוסף ברמת API XE12

ציבורי CardScrollAdapter getAdapter ()

ציבורי ארוך getSelectedItemId ()

נוסף ברמת API XE12

ציבורי INT getSelectedItemPosition ()

נוסף ברמת API XE12

ציבורי להצגת השגיאות getSelectedView ()

נוסף ברמת API XE12

ציבורי בוליאני isActivated ()

ציבורי בוליאני isHorizontalScrollBarEnabled ()

ציבורי בוליאני onKeyDown (int keyCode, אירוע KeyEvent)

ציבורי ריק onWindowFocusChanged (בוליאני hasWindowFocus)

נוסף ברמת API XE12

ציבורי ריק setAdapter (CardScrollAdapter)

ציבורי ריק setEmptyView (תצוגה ריקה)

השדה setEmptyView(View) לא נתמך על ידי CardScrollView.

כדי לקבל אנימציה מתאימה והתנהגות ניתנת להזזה, צריך להשתמש במתאם תצוגה ריקה של קבוצות נתונים ריקות.

ציבורי ריק setHorizontalScrollBarEnabled (הפעלה בוליאנית)

נוסף ברמת API XE12

ציבורי ריק setSelection (מיקום מודעה)

שיטות מוגנות

מוגן בוליאני awakenScrollBars ()

הפעלת סרגל הגלילה האופקי, אם יש כזה.

מוגן בוליאני dispatchGenericFocusedEvent (MotionEvent)

מוגן ריק initializeScrollbars (TypedArray a)

נוסף ברמת API XE12

מוגן ריק onLayout (בוליאני השתנה, int left, int top, int right, int bottom)

מוגן ריק onVisibilityChanged (View changedView, int visibility)