מנהל המשאבים הוא חלון של הכלי שמאפשר לייבא, ליצור, לנהל ולהשתמש במשאבים באפליקציה. כדי לפתוח את חלון של הכלי, בוחרים באפשרות View > Tool Windows > Resource Manager בתפריט או בוחרים באפשרות Resource Manager בסרגל הצד הימני.

איור 1. חלון הכלי Resource Manager.
- לוחצים על הוספה
כדי להוסיף מקור חדש לפרויקט. אתם יכולים להוסיף נכסי תמונה, נכסי וקטור, גופנים או קובצי משאבים וערכים, או לייבא נכסי drawable לפרויקט.
- בוחרים מודול כדי לראות את המשאבים שספציפיים למודול הזה.
- אפשר לחפש משאב בכל המודולים בפרויקט באמצעות סרגל החיפוש.
- הצגת המשאבים לפי סוג במנהל המשאבים.
אפשר להשתמש בכרטיסיות האלה כדי לעבור בין סוגי משאבים. לוחצים על סמל האפשרויות הנוספות
כדי להציג סוגי משאבים נוספים. - כדי לסנן את המשאבים שמוצגים ממודולים מקומיים שתלויים זה בזה, מספריית חיצוניות וממסגרת Android, משתמשים בלחצן הסינון. אפשר גם להשתמש במסנן כדי להציג מאפייני עיצוב.
- אפשר לראות תצוגה מקדימה של המשאבים באזור התוכן הראשי. לוחצים לחיצה ימנית על משאב כדי לראות תפריט הקשר שבו אפשר לשנות את שם המשאב ולחפש באפליקציה את המקומות שבהם המשאב נמצא בשימוש.
- כדי לראות את המשאבים בתצוגת משבצות או בתצוגת רשימה, לוחצים על הלחצנים האלה.
- לוחצים על הלחצנים האלה כדי לשנות את גודל התצוגה המקדימה של הנכסים.
בנוסף לתכונות האלה, מנהל המשאבים מאפשר לייבא בבת אחת פריטים גרפיים שניתנים להזזה לפרויקט. כדי לייבא בכמות גדולה, אפשר:
- גוררים את קובצי התמונות – כולל קובצי SVG – ישירות אל הכלי לניהול משאבים.
- משתמשים באשף Import Drawables.
מידע נוסף מופיע בקטע ייבוא משאבי drawable לפרויקט.
כדי לראות מידע מפורט יותר, לוחצים פעמיים על משאב ב-Resource Manager. אם יש לכם כמה גרסאות של משאב, בתצוגה המפורטת הזו מוצגת כל גרסה יחד עם כל המסננים המשויכים, כמו שמוצג באיור 2. מכאן, אפשר ללחוץ לחיצה כפולה על גרסה ספציפית כדי לפתוח אותה בחלון עריכה.

איור 2. מנהל המשאבים שבו מוצגות גרסאות של משאב תמונה עבור ערכי דחיסות שונים למסך.
ייבוא של רכיבי drawable לפרויקט
אתם יכולים להשתמש במנהל המשאבים כדי לייבא משאבי תמונות לפרויקט. רשימה של סוגי התמונות הנתמכים זמינה במאמר תמיכה בתמונות.
כדי לייבא משאבי תמונות לפרויקט:
גוררים את התמונות ישירות לחלון מנהל המשאבים ב-Android Studio.
- אפשרות נוספת:
- לוחצים על סמל הפלוס (+).
- בוחרים באפשרות Import Drawables (ייבוא של רכיבים גרפיים), כמו שמוצג באיור 3.
- בוחרים את הקבצים והתיקיות שרוצים לייבא.

איור 3. בתפריט, בוחרים באפשרות ייבוא של רכיבי Drawable.
- אפשרות נוספת:
מופיעה תיבת הדו-שיח Import drawables, כמו שמוצג באיור 4. בתיבת הדו-שיח הזו מוצגת רשימה של המשאבים שאתם מייבאים. כדי לשנות את השם של נכס, לוחצים על התיבה שמעל התצוגה המקדימה של הנכס.
אם אתם מספקים כמה גרסאות של אותו משאב, צריך להוסיף מסנני התאמה של הגדרות המכשיר, כמו שמתואר בקטע הבא, שמפרטים את ההגדרה הספציפית שכל משאב תומך בה.
לדוגמה, אם אתם מספקים כמה גרסאות של אותו משאב לצפיפויות מסך שונות, אתם יכולים להוסיף לכל גרסה את המסנן Density. הערה: אם לשני משאבים או יותר יש את אותו שם ואותם מסננים, רק גרסה אחת תיווה.
מידע נוסף על מזהי משאבים זמין במאמר הוספת משאבים חלופיים.

איור 4. תיבת הדו-שיח Import drawables.
אחרי שנותנים שם למשאבים ומוסיפים את כל המסננים הנדרשים, לוחצים על הבא.
במסך הבא מוצג סיכום של המשאבים שאתם מייבאים. כשמוכנים לייבא, לוחצים על ייבוא.
בחלון מנהל המשאבים, המשאבים מוכנים לשימוש בפרויקט, כמו שמוצג באיור 5.

איור 5. עכשיו התמונות שיובאו מופיעות במנהל המשאבים.
ניתוח אוטומטי של צפיפויות של רכיבי drawable
כשמייבאים קובץ או תיקייה והנתיב שלהם מכיל מגדיר דחיסות, מנהל המשאבים מחיל באופן אוטומטי את מגדיר הדחיסות כחלק מהייבוא. מנהל המשאבים יכול לנתח גם את מסווגי הצפיפות של Android וגם את גורמי קנה המידה של iOS.
בטבלה הזו מפורט איך צפיפויות שונות נתמכות ב-Android וב-iOS:
| צפיפות | מגדיר דחיסות ב-Android | גורם לקביעת קנה מידה ב-iOS |
|---|---|---|
| צפיפות נמוכה (~120 dpi) | ldpi |
לא נתמך |
| צפיפות בינונית (~160 dpi) | mdpi |
קנה מידה מקורי |
| צפיפות גבוהה (~240 dpi) | hdpi |
לא נתמך |
| דחיסות גבוהה במיוחד (~320 dpi) | xhdpi |
@2x |
| דחיסות גבוהה במיוחד (~480 dpi) | xxhdpi |
@3x |
| דחיסות גבוהה במיוחד (~640 dpi) | xxxhdpi |
@4x |
ריכזנו כאן כמה דוגמאות לאופן שבו נתיבי קלט מתורגמים לנתיבי משאבים אחרי הייבוא:
- מגדיר דחיסות ל-Android:
hdpi - נתיב קלט: /UserFolder/icon1/hdpi/icon.png
נתיב משאב: <projectFolder>/<moduleFolder> /src/main/res/drawable-hdpi/icon.png - מגדיר דחיסות ל-Android:
xxhdpi - נתיב קלט: /UserFolder/icon1/abc-xxhdpi/icon.png
נתיב משאב: <projectFolder>/<moduleFolder> /src/main/res/drawable-xxhdpi/icon.png - גורם קנה המידה ב-iOS: @2x
- נתיב קלט: /UserFolder/icon1/icon@2x.png
נתיב משאב: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon.png - גורם קנה המידה ב-iOS: @2x
- Input path: /UserFolder/icon1/icon@2x_alternate.png
Resource path: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon_alternate.png
מידע נוסף על תמיכה במכשירים עם צפיפות פיקסלים שונה זמין במאמר בנושא תמיכה בצפיפות פיקסלים שונה.
שימוש במשאבים ב-Jetpack Compose
כשמפתחים באמצעות Jetpack Compose, אפשר לגשת למשאבים ישירות מקוד Kotlin באמצעות ממשקי API שעברו אופטימיזציה, וכך לוודא שהלוגיקה של ממשק המשתמש וההפניות למשאבים נשארים מסונכרנים.
- תמונות: משתמשים ב-
painterResource(id = R.drawable.your_image)בתוך רכיבImageשאפשר להרכיב. - מחרוזות: משתמשים ב-
stringResource(id = R.string.your_string)כדי לאחזר טקסט ממשק משתמש שעבר לוקליזציה. - צבעים: משתמשים ב-
colorResource(id = R.color.your_color)כדי להחיל צבעים שמוגדרים בערכת הנושא.
מנהל המשאבים מוודא שהמזהים האלה נוצרים בצורה נכונה, וכך מאפשר לכם להפנות בצורה חלקה לנכסים שלכם מההיררכיה של ממשק המשתמש של Compose.
מידע על טיפול מתקדם במשאבים, כולל טעינה דינמית של גופנים, משאבים ספציפיים להגדרות וספריות משאבים ספציפיות לכלי הכתיבה, זמין במאמר בנושא משאבים בכלי הכתיבה.