הגדרה של סרגל האפליקציות

כדאי לנסות את התכונה 'כתיבה מהירה'
Jetpack Compose היא ערכת הכלים המומלצת לבניית ממשק משתמש ב-Android. איך מוסיפים רכיבים ב-Compose

בצורתו הבסיסית ביותר, בסרגל הפעולות מוצגים הכותרת של הפעילות בצד אחד ותפריט הנפתח בצד השני. גם בצורה הבסיסית הזו, סרגל האפליקציות מספק למשתמשים מידע שימושי ומעניק לאפליקציות ל-Android מראה ועיצוב עקביים.

תמונה שבה מוצג סרגל האפליקציות באפליקציה 'עכשיו' ב-Android
איור 1. שורת אפליקציה עם סמל פעולה באפליקציה 'מה חדש ב-Android'.

בכל הפעילויות שמשתמשות בעיצוב ברירת המחדל, ActionBar מופיע בתור שורת האפליקציות. התכונות של סרגל האפליקציות מתווספות ל-ActionBar המקורי בגרסאות שונות של Android. כתוצאה מכך, התנהגות ActionBar המובנית משתנה בהתאם לגרסת Android שבה פועל המכשיר.

לעומת זאת, תכונות נוספות מתווספות לגרסה של Toolbar בספריית AndroidX AppCompat, כלומר התכונות האלה זמינות במכשירים שמשתמשים בספריות AndroidX.

לכן כדאי להשתמש במחלקה Toolbar בספריית AndroidX כדי להטמיע את סרגלי האפליקציות של הפעילויות. שימוש בסרגל הכלים של ספריית AndroidX הופך את התנהגות האפליקציה לעקבית במגוון הרחב ביותר של מכשירים.

הוספת סרגל כלים לפעילות

בשלבים הבאים מוסבר איך להגדיר Toolbar בסרגל האפליקציות של הפעילות:
  1. מוסיפים את ספריית AndroidX לפרויקט, כפי שמתואר בסקירה הכללית של AndroidX.
  2. מוודאים שהפעילות נמשכת ל-AppCompatActivity:

    Kotlin

    class MyActivity : AppCompatActivity() {
      // ...
    }

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. בקובץ המניפסט של האפליקציה, מגדירים את הרכיב <application> כך שישתמש באחד מהעיצובים NoActionBar של AppCompat, כפי שמתואר בדוגמה הבאה. שימוש באחד מהעיצובים האלה מונע מהאפליקציה להשתמש בכיתה ActionBar המקורית כדי לספק את סרגל האפליקציות.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. מוסיפים Toolbar לפריסת הפעילות. לדוגמה, קוד הפריסה הבא מוסיף Toolbar ומעניק לו מראה של רכיב צף מעל הפעילות:
    <androidx.appcompat.widget.Toolbar
       android:id="@+id/my_toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="?attr/colorPrimary"
       android:elevation="4dp"
       android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

    במפרט Material Design אפשר למצוא המלצות לגבי גובה הסרגל באפליקציה.

    ממקמים את סרגל הכלים בחלק העליון של פריסת הפעילות, כי אתם משתמשים בו כסרגל אפליקציות.

  5. ב-method‏ onCreate() של הפעילות, קוראים ל-method‏ setSupportActionBar() של הפעילות ומעבירים את סרגל הכלים של הפעילות, כפי שמתואר בדוגמה הבאה. השיטה הזו מגדירה את סרגל הכלים בתור סרגל האפליקציות של הפעילות.

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // The Toolbar defined in the layout has the id "my_toolbar".
        setSupportActionBar(findViewById(R.id.my_toolbar))
    }

    Java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(myToolbar);
    }

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

שימוש בשיטות השירות של סרגל האפליקציות

אחרי שמגדירים את סרגל הכלים כסרגל האפליקציות של הפעילות, יש גישה לשיטות התועלת שמספק הכיתה ActionBar בספריית AndroidX. הגישה הזו מאפשרת לבצע פעולות שימושיות, כמו להסתיר ולהציג את סרגל האפליקציות.

כדי להשתמש בשיטות השירות של ActionBar, צריך להפעיל את השיטה getSupportActionBar() של הפעילות. השיטה הזו מחזירה הפניה לאובייקט ActionBar של AppCompat. אחרי שתקבלו את ההפניה הזו, תוכלו להפעיל כל אחת מהשיטות של ActionBar כדי לשנות את שורת האפליקציות. לדוגמה, כדי להסתיר את שורת האפליקציות, קוראים ל-ActionBar.hide().