ב-Jetpack Compose Glimmer, הרכיב Card משמש כמאגר העיקרי לתוכן קשור, ויוצר גבול ויזואלי ברור ליחידות מידע קלות לעיכול. הכרטיסים ניתנים להתאמה רבה, ותומכים בשילובים של תוכן ראשי, כותרות אופציונליות, כתוביות וסמלים מובילים או נגררים. כרטיסים ממלאים כברירת מחדל את הרוחב המקסימלי הזמין, אפשר להתמקד בהם, ואפשר גם להפוך אותם לכרטיסים שאפשר ללחוץ עליהם. הכרטיסים תומכים בסידור אנכי שבו תמונת הכותרת נמצאת למעלה, ואחריה הכותרת, כותרת המשנה ותוכן הגוף.
הכרטיסים מבוססים על מערכת הרקעים של Jetpack Compose Glimmer, ולכן הם יורשים מאפיינים פיזיים כמו אפקטים של עומק, חיתוך והדגשות עקביות של גבולות.
המבנה והמיקומים
כרטיס Glimmer של Jetpack Compose מורכב מכמה רכיבים מיוחדים שמאפשרים להתאים אישית את התוכן והפריסה שלו.
| משבצת | תיאור |
|---|---|
כותרת |
החלק העליון של הכרטיס, שנועד להכיל תמונה. |
כותרת וכותרת משנית |
בשדות הטקסט האלה מופיעות התוויות הראשיות והמשניות של הכרטיס. הכותרת ממוקמת מעל הכותרת המשנית. |
סמל מוביל |
סמל אופציונלי (בדרך כלל |
סמל בסוף |
סמל אופציונלי שמופיע בסוף אזור התוכן של הכרטיס. |
פעולה |
משבצת לרכיב אינטראקטיבי ראשי, כמו |
תוכן ראשי |
החלק המרכזי של הכרטיס עבור |
הגדרות ברירת המחדל של הכרטיס
אלה הגדרות ברירת המחדל שחלות על כרטיסים:
- רוחב: הכרטיסים ממלאים את הרוחב הזמין המקסימלי של התצוגה כדי לשפר את הקריאות במשקפיים.
- גובה מינימלי:
80.dp - הרווח האנכי בין שורות הטקסט:
3.dp - צורה של כותרת: שימוש ב-
RoundedCornerShapeעם פינות24.dp - שוליים פנימיים של התוכן: ברירת המחדל היא
GlimmerTheme.componentSpacingValues.medium. ההגדרה הזו משפיעה על הריווח החיצוני מסביב לתמונות הכותרת ולמאגר התוכן. - צורה: ברירת המחדל היא
GlimmerTheme.shapes.medium. Text rendering (עיבוד טקסט): משתמש בערכי ברירת המחדל מ-
GlimmerTheme.typographyעבור המשבצות הבאות:- שם:
bodyMedium - כותרת משנה:
caption - תוכן ראשי:
bodySmall
- שם:
דוגמה: כרטיס בסיסי
הקוד הבא יוצר כרטיס בסיסי:
@Composable fun CardSample() { Card { Text("This is a card") } }
דוגמה: כרטיס מורכב עם כמה משבצות
בדוגמה הבאה אפשר לראות איך משתמשים בכמה משבצות יחד כדי ליצור כרטיס.
@Composable fun CardWithTitleAndLeadingIconAndHeaderAndAction() { Card( action = { Button(onClick = {}, trailingIcon = { Icon(FavoriteIcon, "Localized description") }) { Text("Send") } }, title = { Text("Title") }, leadingIcon = { Icon(FavoriteIcon, "Localized description") }, header = { Image(MyHeaderImage, "Localized description", contentScale = ContentScale.FillWidth) }, ) { Text("This is a card with a title, leading icon, header image, and action") } }
מידע חשוב על הקוד
- המאמר מראה איך להשתמש ברכיבים שונים של כרטיסים, כמו
header,title,leadingIconוaction, כדי להתאים אישית את התוכן והמבנה של הכרטיס. - משתמש בעומס יתר של
Cardעם פעולה, כי רק הכרטיס (או הפעולה הפנימית שלו) צריך להיות ניתן למיקוד. אם רוצים להפוך את כל הכרטיס לאינטראקטיבי, צריך להשתמש ב-overload שלCardעםonClick. - בכרטיס הזה נעשה שימוש במשבצת פעולה, ולכן אי אפשר להתמקד ברקע של הכרטיס, והמיקוד מועבר ללחצן הפעולה.