הערה: בדף הזה מוצג שלב בתהליך של ניהול ידני של הגדרות התצוגה של השעון. אם אתם רוצים לעצב את תצוגת השעון באמצעות כלי בסגנון WYSIWYG (מה שרואים זה מה שמקבלים), כדאי קודם לעיין במדריכים של Watch Face Studio.
במדריך הזה מפורטים השלבים לשימוש בכלים שנדרשים להגדרת תצוגת שעון באמצעות Watch Face Format, כמה הצעות לגבי מבנה הפרויקט ומדריך מפורט להחלת הכלים כדי ליצור את המבנה הזה.
תחילת העבודה עם Android Studio
הדרך הקלה ביותר להתחיל לפתח תצוגות שעון באופן ידני היא באמצעות Android Studio. התמיכה בתצוגת השעון זמינה בערוץ Canary.
- לוחצים על קובץ > פרויקט חדש.
- בקטע Wear OS, בוחרים באפשרות Basic watch face.
כך נוצר המבנה הנדרש לתצוגת שעון שפועלת באופן מלא.
מבנה הפרויקט
כשיוצרים תצוגת שעון מותאמת אישית באמצעות Watch Face Format, קובץ Android App Bundle שכולל את קובץ תצוגת השעון המותאמת אישית צריך להיות נפרד לחלוטין מקובץ Android App Bundle שמכיל את הלוגיקה של אפליקציית Wear OS. חלק מחנויות האפליקציות, כולל Google Play, לא מאפשרות להעלות קובץ Android App Bundle שכולל גם לוגיקה של Wear OS וגם תצוגת שעון מותאמת אישית.
הצהרה על גרסת Watch Face Format
בקובץ המניפסט של האפליקציה החדשה (AndroidManifest.xml), בודקים את מאפיין האפליקציה שמציין את השימוש ב-Watch Face Format.
<property android:name="com.google.wear.watchface.format.version" android:value="4" />
חלק מהתכונות של פורמט ללוח שעון זמינות רק בגרסאות מאוחרות יותר. כדי למקסם את התאימות של המכשיר, צריך להגדיר את המאפיין הזה לערך הנמוך ביותר שתומך בתכונות שאתם צריכים, וגם להגדיר את minSdkVersion כך שיתאים. מידע נוסף על הגדרת גרסאות של האפליקציה
רכיב <application> חייב לכלול גם את המאפיין android:hasCode="false". חבילות של Watch Face Format הן רק משאבים ולא יכולות להכיל קוד.
הצהרה על מטא-נתונים של תצוגת השעון
בתיקיית המשאבים res/xml של האפליקציה, יש קובץ בשם watch_face_info.xml. כאן מגדירים את המטא-נתונים של תצוגת השעון:
<WatchFaceInfo> <Preview value="@drawable/preview" /> <Category value="CATEGORY_EMPTY" /> <AvailableInRetail value="true" /> <MultipleInstancesAllowed value="true" /> <Editable value="true" /> <FlavorsSupported value="true" /> </WatchFaceInfo>
השדות בקובץ הזה מייצגים את הפרטים הבאים:
Preview
- References the drawable that contains a preview image of the watch face.
Categoryמגדיר את הקטגוריה של תצוגת השעון. הערך חייב להיות מחרוזת או הפניה למחרוזת, כמו
@string/ref_name. כל יצרן מכשירים יכול להגדיר קבוצה משלו של קטגוריות של עיצובים לשעון.ערך ברירת המחדל:
empty_category_meta, שגורם לקיבוץ של תצוגת השעון הזו עם תצוגות שעון אחרות מסוג 'קטגוריה ריקה' בתחתית התצוגה של כלי הבחירה של תצוגות השעון.AvailableInRetailהאם תצוגת השעון זמינה במצב ההדגמה לקמעונאים של המכשיר. הערך חייב להיות בוליאני או הפניה לערך בוליאני, כמו
@bool/watch_face_available_in_retail.ערך ברירת המחדל:
falseMultipleInstancesAllowedהאם אפשר להוסיף כמה תצוגות שעון למועדפים. הערך חייב להיות בוליאני, או הפניה לערך בוליאני כמו
@bool/watch_face_multiple_instances_allowed.ערך ברירת המחדל:
falseEditableהאם תצוגת השעון ניתנת לעריכה, כלומר יש לה הגדרה או לפחות תכונה נוספת אחת לא קבועה. ההגדרה הזו משמשת להצגה או להסתרה של הלחצן עריכה של תצוגת השעון ברשימת המועדפים.
ערך ברירת המחדל: false
הצהרה על שם תצוגת השעון
בקובץ המניפסט של האפליקציה (AndroidManifest.xml), מגדירים את מאפיין android:label
באמצעות אלמנט application לשם של תצוגת השעון.
הצהרה על פרטי תצוגת השעון
המבנה של מסמך בסיסי של תצוגת שעון בפורמט WFF הוא כזה:
<WatchFace width="450" height="450"> <Scene> <!-- Content to be rendered --> </Scene> </WatchFace>
התבנית של Android Studio מספקת מסמך בסיסי ב-res/raw/watchface.xml. כדי לתמוך בצורות ובגדלים שונים של מסכים, צריך להצהיר על תמיכה בכמה צורות וגדלים.
רכיב הבסיס הוא תמיד WatchFace. הערכים height ו-width מגדירים את גודל מרחב הקואורדינטות לשימוש בתצוגת השעון, ותצוגת השעון מותאמת לגודל המכשיר שבו היא נמצאת בשימוש. הערכים height ו-width לא מייצגים פיקסלים בפועל.
ב-Watch Face Format מאורגנים כמה פרטים על תצוגת השעון:
- מטא-נתונים, כמו השעה ומספר הצעדים שמוצגים בתמונה המקדימה של פני השעון.
- הגדרות משתמש, כמו ערכות צבעים שונות לתצוגת השעון, אלמנטים שהמשתמש יכול להפעיל או להשבית, ואפשרות בחירה בין כמה אלמנטים. בגרסה 2 של פורמט Watch Face נוספו טעמים, שיכולים להופיע בהגדרות של משתמש. כל סגנון מגדיר קביעה מראש של הגדרות משתמש, ומציין את הסוג והסגנון של הרכיבים שמופיעים עם השעה בתצוגת השעון. ההגדרות הקבועות מראש האלה מקלות עליכם ליצור קבוצות של רכיבים שנעים להסתכל עליהם. באפליקציה הנלווית של Wear OS, המשתמשים רואים את הגרסאות השונות של תצוגת השעון בשורה שאפשר לגלול בה.
- סצנה שמכילה את הרכיבים החזותיים של תצוגת השעון. רכיבים שמופיעים קרוב יותר לסוף הסצנה מופיעים מעל רכיבים אחרים, ולכן הסדר הרגיל הוא כזה:
- המחוגים של שעון אנלוגי או הטקסט של שעון דיגיטלי
- סיבוכים שמציגים מידע נוסף, כמו היום בשבוע או מספר הצעדים של המשתמש
- גרפיקה אחרת שמוסיפה עניין ויזואלי או קישוטים לתצוגת השעון, כמו תמונה של אתר קמפינג
- קבוצות של רכיבים, שמאפשרות לשנות כמה רכיבים בו-זמנית. אתם יכולים ליצור וריאציות של הקבוצות האלה בתוך סצנה, וכך להסתיר או לשנות תוכן באופן סלקטיבי כשהמערכת עוברת למצב סביבה לחיסכון באנרגיה.
למאפיינים יש הקלדה חזקה והנחיות לגבי התדירות והערכים התקינים שלהם, כדי למנוע את רוב מקורות השגיאות כשיוצרים שעון.
הצהרה על תמיכה בצורות של תצוגות שעון (אופציונלי)
השלב הזה נחוץ רק אם רוצים לתמוך בהתנהגויות שונות בגדלים שונים של תצוגות השעון. אפשר לדלג על השלב הזה אם אתם רוצים שתצוגת השעון תותאם לגודל השעון.
בתיקיית המשאבים res/xml של האפליקציה, מצהירים על קבוצת הצורות של תצוגת השעון שנתמכות ב-watch_face_shapes.xml:
<WatchFaces> <WatchFace shape="CIRCLE" width="300" height="300" file="@raw/watchface_basic"/> <WatchFace shape="CIRCLE" width="450" height="450" file="@raw/watchface"/> </WatchFaces>
לאחר מכן, מגדירים את המראה וההתנהגות של תצוגת השעון לכל צורה של תצוגת השעון.
אם לא הגדרתם קובץ צורות, אתם צריכים רק קובץ אחד,
watchface.xml.
בדוגמה שבקטע הזה, קובצי ה-XML הגולמיים יהיו:
res/raw/watchface.xmlres/raw/watchface_basic.xml
זיהוי בעל האתר של תצוגת השעון (אופציונלי)
אופציונלי: בקובץ המניפסט של האפליקציה, אפשר להצהיר על מחרוזת שרירותית שאפשר להשתמש בה כדי לזהות את בעל האפליקציה של לוח השעון, או את שם הכלי והגרסה שבהם אתם משתמשים:
<property android:name="com.google.wear.watchface.format.publisher" android:value="{toolName}-{toolVersion}" />
בדיקת הנכונות והביצועים של תצוגת השעון
במהלך הפיתוח, ולפני ההעלאה ל-Google Play, כדאי לבדוק את תצוגת השעון כדי לוודא שאין בה שגיאות תחביר. לשם כך אפשר להשתמש באימות המובנה של פורמט תצוגת השעון ב-Android Studio. הוא מדגיש אוטומטית שגיאות בקוד ומודע לגרסה.
כדאי גם להריץ את הכלי memory footprint כדי לוודא שתצוגת השעון עומדת בדרישות השימוש בזיכרון.
- מידע נוסף על אופטימיזציה של השימוש בזיכרון ועל בדיקת השימוש בזיכרון לקראת פרסום
- מידע נוסף על השימוש בכלי לאימות XML כחלק ממחזור הפיתוח
יצירת קובץ App Bundle של תצוגת השעון
הדרך הקלה ביותר ליצור ולפרוס את תצוגת השעון היא באמצעות Android Studio, שכולל תמיכה מובנית בהגדרות הפעלה של תצוגת השעון. אחרי שלוחצים על הלחצן Run, Android Studio פורס את תצוגת השעון במכשיר או באמולטור ומגדיר אותה כתצוגת השעון הפעילה.
דוגמאות לתצוגות שעון
דוגמאות נוספות לפרויקטים בפורמט של לוחות שעונים זמינות ב-GitHub.
מומלץ בשבילך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- AAPT2
- יסודות Jetpack פיתוח נייטיב
- תחילת העבודה עם CameraX