راست به چپ کردن اکشن بار در اندروید

یکی از مشکلاتی که توسعه دهنده‌های آندروید ایرانی با اون دست به گریبان هستند، مشکل راست به چپ کردن اکشن بار هست.

راه‌های مختلفی برای راست به چپ کردن اکشن بار وجود داره، از جمله استفاده از custom layout برای اکشن بار. اما یکی دیگه از روش‌هایی که در این مطلب می‌خوام بهش بپردازم، استفاده از ActionBar RTLizer هست.

برای شروع فایل build.gradle رو باز کنید و به قسمت dependencies کد زیر رو اضافه کنید: (یا می‌تونید از روش‌های دیگه این کتابخانه رو به پروژه اضافه کنید)

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

حالا به اکتیویتی که میخواید راست به چپ بشه برید و در قسمت onCreateOptionsMenu کدهای زیر رو اضافه کنید. توجه کنید که این کدها باید قبل از return اضافه بشن.

بعد از اضافه کردن کدها بعضی از قسمت‌ها به رنگ قرمز در میان، این یعنی اینکه باید کلاس مربوط بهش import بشه. روی هرقسمتی که به رنگ قرمز دراومده Alt+enter بزنید و Import Class کنید.

حالا یکبار اپ رو اجرا میکنیم تا تغییرات را ببینیم.

همونطوری که بالاتر گفتم، برای انجام اینکار روش‌های دیگه‌ای هم هست، ولی این روش ساده‌ترین روشی هست که با کمترین کدزدن میشه انجام داد. نکته‌ای که هست اینکه این کتابخانه از api ۷ به بالا رو ساپورت میکنه. خودم روی api 14 تست کردم و مشکلی نداشت.

موفق باشید

17 دیدگاه برای «راست به چپ کردن اکشن بار در اندروید»

  1. حسین says

    سلام. ممنون از این آموزش عالی
    فقط یه سوال. در صورتی که به جای اندروید استدیو، از اکلیپس استفاده کنیم، چطور باید کدهای dependencies رو اضافه کنیم؟ آیا روش اکلیپس هم فایلی مشابه build.gradle داره؟
    ممنون

    Reply
  2. امیراحسان says

    سلام
    دوست عزیز من از این کتابخانه استفاده میکنم ولی یه ارور میده و اصلا راهی براش پیدا نکردم
    اونم اینه که تا برنامه شروع میشه میندازه بیرون از برنامه

    تو سایت گت هاب دستوری که شما گفتید فرق میکنه
    وقتی اونو میزنم کلا تو محیط اندروید استدیو ارور میده که این کتابخانه دسترسی پراویت داره ولی همه چیشو نگا میکنم مشکلی نداره
    ممنون میشم کمکم کنید

    Reply
    1. علیرضا رضوی says

      سلام. باید پیغام خطایی که میده بررسی بشه و لاگ هم مشاهده بشه. همینطوری نمیشه گفت مشکل چیه.
      ولی در کل توصیه می‌کنم که از Toolbar استفاده کنید. اکشن‌بار دیگه ساپورت نمیشه. در آینده آموزش استفاده از تولبار رو می‌نویسم

      Reply
  3. رها says

    سلام، خیلی ممنون، خیلی مفید بود، فقط یه سوال داشتم:
    وقتی activity شروع میشه، ation bar اول چپ چین نمایش داده میشه، بعد از مدت خیلی کوتاهی راست چین میشه. میشه کاری کرد که از همون اول راست چین بشه؟ فکر می‌کنم فراخوانی متد onCreate و اجرای دستور setContentView تو این متد، باعث این مشکل میشه!

    ممنون

    Reply
  4. علی says

    سلام . ممنون بابت این آموزش. ولی من این کارو انجام دادم نشد. از toolbar استفاده کردم.

    Reply
      1. شاهین says

        کتاب خونه ی موجود نیست اضافه کنم که!
        فقط کلاس هارو اد کردم بدون
        compile ‘info.semsamot:actionbar-rtlizer:2.+@aar’
        کار کردم حل شد چون کتاب خونه ای نبود من ادش کنم بعد این کامپایل رو بزنم!
        در هر صورت مشکلم حل شد

        Reply
    1. شاهین says

      راه حل پیدا کردم
      چند راه که میتونید انجام بدید
      اگر تولبار نداشته باشید
      ActionBar actionbar = getSupportActionBar ();
      actionbar.setDisplayHomeAsUpEnabled ( true );
      actionbar.setHomeAsUpIndicator ( R.drawable.ic_action_back );
      اگر داشته باشید
      toolbar.setNavigationIcon(R.drawable.ic_action_back);
      یا
      @drawable/ic_back_arrow

      Reply

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *