یکی از مشکلاتی که توسعه دهندههای آندروید ایرانی با اون دست به گریبان هستند، مشکل راست به چپ کردن اکشن بار هست.
راههای مختلفی برای راست به چپ کردن اکشن بار وجود داره، از جمله استفاده از custom layout برای اکشن بار. اما یکی دیگه از روشهایی که در این مطلب میخوام بهش بپردازم، استفاده از ActionBar RTLizer هست.
برای شروع فایل build.gradle رو باز کنید و به قسمت dependencies کد زیر رو اضافه کنید: (یا میتونید از روشهای دیگه این کتابخانه رو به پروژه اضافه کنید)
compile 'info.semsamot:actionbar-rtlizer:2.+@aar'
بعد از اینکه این کد رو اضافه کردید اندروید استودیو پیغام میده که تغییرات تو فایل ایجاد شده و باید یکبار sync بشه که بعد از اینکار این کتابخانه به پروژه شما افزوده میشه.
حالا به اکتیویتی که میخواید راست به چپ بشه برید و در قسمت onCreateOptionsMenu کدهای زیر رو اضافه کنید. توجه کنید که این کدها باید قبل از return اضافه بشن.
ActionBarRtlizer rtlizer = new ActionBarRtlizer(this); ViewGroup homeView = (ViewGroup) rtlizer.getHomeView(); RtlizeEverything.rtlize(rtlizer.getActionBarView()); if (rtlizer.getHomeViewContainer() instanceof ViewGroup) { RtlizeEverything.rtlize((ViewGroup) rtlizer.getHomeViewContainer()); } RtlizeEverything.rtlize(homeView); rtlizer.flipActionBarUpIconIfAvailable(homeView);
بعد از اضافه کردن کدها بعضی از قسمتها به رنگ قرمز در میان، این یعنی اینکه باید کلاس مربوط بهش import بشه. روی هرقسمتی که به رنگ قرمز دراومده Alt+enter بزنید و Import Class کنید.
حالا یکبار اپ رو اجرا میکنیم تا تغییرات را ببینیم.
همونطوری که بالاتر گفتم، برای انجام اینکار روشهای دیگهای هم هست، ولی این روش سادهترین روشی هست که با کمترین کدزدن میشه انجام داد. نکتهای که هست اینکه این کتابخانه از api ۷ به بالا رو ساپورت میکنه. خودم روی api 14 تست کردم و مشکلی نداشت.
موفق باشید
دیدگاهتان را بنویسید