نوار برنامه را تنظیم کنید

روش نوشتن را امتحان کنید
Jetpack Compose ابزار رابط کاربری پیشنهادی برای اندروید است. یاد بگیرید که چگونه کامپوننت‌ها را در Compose اضافه کنید.

در ابتدایی‌ترین شکل خود، نوار اکشن عنوان فعالیت را در یک طرف و یک منوی سرریز را در طرف دیگر نمایش می‌دهد. حتی در این شکل ابتدایی، نوار برنامه اطلاعات مفیدی را در اختیار کاربران قرار می‌دهد و به برنامه‌های اندروید ظاهر و حس ثابتی می‌دهد.

تصویری که نوار برنامه را در برنامه Now in Android نشان می‌دهد
شکل ۱. نوار برنامه با یک آیکون عملیاتی در برنامه «Now in Android».

تمام فعالیت‌هایی که از تم پیش‌فرض استفاده می‌کنند، یک ActionBar به عنوان نوار برنامه دارند. ویژگی‌های نوار برنامه در نسخه‌های مختلف اندروید به ActionBar بومی اضافه شده‌اند. در نتیجه، ActionBar بومی بسته به نسخه اندروید مورد استفاده دستگاه، رفتار متفاوتی دارد.

از سوی دیگر، ویژگی‌هایی به نسخه Toolbar کتابخانه AndroidX AppCompat اضافه می‌شوند، به این معنی که این ویژگی‌ها در دستگاه‌هایی که از کتابخانه‌های AndroidX استفاده می‌کنند، در دسترس هستند.

به همین دلیل از کلاس Toolbar کتابخانه AndroidX برای پیاده‌سازی نوارهای برنامه فعالیت‌های خود استفاده کنید. استفاده از نوار ابزار کتابخانه AndroidX باعث می‌شود رفتار برنامه شما در طیف وسیعی از دستگاه‌ها سازگار باشد.

اضافه کردن نوار ابزار به یک فعالیت

این مراحل نحوه تنظیم Toolbar به عنوان نوار برنامه فعالیت شما را شرح می‌دهد:
  1. کتابخانه AndroidX را همانطور که در بخش مرور کلی AndroidX توضیح داده شده است، به پروژه خود اضافه کنید.
  2. مطمئن شوید که activity AppCompatActivity ارث بری می‌کند:

    کاتلین

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

    جاوا

    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"/>

    برای توصیه‌هایی در مورد ارتفاع نوار برنامه، به مشخصات طراحی متریال مراجعه کنید.

    نوار ابزار را در بالای طرح‌بندی فعالیت قرار دهید، زیرا از آن به عنوان نوار برنامه استفاده می‌کنید.

  5. در متد onCreate() مربوط به activity، متد setSupportActionBar() مربوط به activity را فراخوانی کنید و نوار ابزار activity را همانطور که در مثال زیر نشان داده شده است، به آن ارسال کنید. این متد، نوار ابزار را به عنوان نوار برنامه برای activity تنظیم می‌کند.

    کاتلین

    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))
    }

    جاوا

    @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() مربوط به activity را فراخوانی کنید. این متد یک ارجاع به یک شیء AppCompat ActionBar برمی‌گرداند. پس از دریافت این ارجاع، می‌توانید هر یک از متدهای ActionBar را برای تنظیم نوار برنامه فراخوانی کنید. به عنوان مثال، برای پنهان کردن نوار برنامه، ActionBar.hide() را فراخوانی کنید.