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

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

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

תמונה שבה מוצג סרגל האפליקציות באפליקציה Now in Android
איור 1. סרגל אפליקציות עם סמל פעולה באפליקציה Now in 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> כך שישתמש באחד מהנושאים של AppCompat NoActionBar כמו בדוגמה הבאה. שימוש באחד מהעיצובים האלה מונע מהאפליקציה להשתמש במחלקה המקורית 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. בשיטה onCreate() של הפעילות, מפעילים את השיטה 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().