بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

راست به چپ کردن Toolbar و دکمه Navigation Drawer

مدیریت گفتگو
Mr Mehdi 10 سال پیش
آخرین تغییر: 7 سال پیش

درود

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

اول اون دکمه Navigation Drawer رو میخوام به سمت راست بیارم (با همون انیمیشنی که وقتی روش زده میشه تبدیل به آیکون بک میشه)

دوم TabLayout که حدود از سمت راست نیست و میخوام که با شروع برنامه از سمت راست باز بشه.

البته برای دومی یه لایبرری پیدا کردم که خیلی هم خوب عمل نمیکرد! بدون لایبرری میخوام. پیشاپیش از کمک ممنون :)

نظرات

NullPointerException 10 سال پیش
اگر مینیمم API 17 هست میتونی راحت از android:supportsRtl="true" استفاده کنی، اگر کمتره از کد getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); میتونی تو اکتیویتی استفاده کنی.
خواست خدایی 10 سال پیش
rtl که خودش به صورت پیش فرض در خود مانیفست نوشته شده ولی ایشون می خوان toggle رو جابجا کنن که من چیزی ندیدم البته این که شما رو جایی ندیدم و تست نکردم شاید با این بشه ممنون :)

پاسخ‌ها 4

خواست خدایی 10 سال پیش

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

نظرات

Mr Mehdi 10 سال پیش
برنامه نویسهای چندتا از شرکت ها اینکارو تقریبا خیلی خوب انجام دادن از جمله دیجیکالا و آپارات. به نظرتون اونا چطوری اینکارو کردن
خواست خدایی 10 سال پیش
گفتم که کاستوم تولبار من نگفتم نمیشه گفتم با تولبار دیفالت نمیشه انجامش داد اگر چه به نظرم این انیمیشن toggle زیادم باحال نیست و من اصلا ازش استفاده نمی کنم ولی خب به هر حال میشه ولی شما باید تولبار دیفالت رو کنار بزارید و از تولبار کاستوم خودتون استفاده کنین و اون انیمیشن رو بسازید اگه دوست داشتین البته شاید به روشی که دوستمون هم گفتن بشه با تولبار دیفالت کاری کرد ولی من اون کد رو تست نکردم
NullPointerException 10 سال پیش

با همون کدی که گفتم بزارید توی اکتیویتی میتونید :

TabLayout، BottomNavigation,Navigation Drawer و دکمه ی منو و بک و ... همه چیو از LTR به RTL تبدیل کنید

 getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);

 من توی همین پروژه دارم استفاده میکنم، فقط یک نکته داره اونم اینه که تو طراحی لایت هاتون باید دقت کنید چون همه چی برعکس میشه، مثلا اگه تصویر سمت راسته و متن ها سمت چپ تو اجرا تصویر میره سمت چپ و متن ها میاد سمت راست و شما باید برعکس طراحی کنید که کار مشکلی نیست.

موفق باشید :)

نظرات

Mr Mehdi 10 سال پیش
قبلا این کد رو دیده بودم اما نمیدونم کجا باید استفاده کنم. وقتی متد onCreate قرار میدم اتفاق خاصی نمیوفته
علی 10 سال پیش
شما بهترین کاری که می تونید انجام بدید کاستوم کردن تولبار هستش و من هم دارم از همین روش استفاده می کنم . ولی از این هم می تونید استفاده کنید دوست عزیز : لینک اگر کاستو کردن رو مشکل داشتید بگید .موفق باشید.
amirhossein1376 10 سال پیش
چرا این راه حل کاملا درسته و جواب میده من امتحان کردم البته شاید یه کرش اتفاق بیفته که بهتره چک کنید api بالای 17 هست یا نه
یاسر  10 سال پیش

برای راست چین کردن باید از minimum API 17 استفاده کنید

اینو به Manifast اضافه کن 

 android:supportsRtl="true"

اینم بزار توی onCreate

 if (getWindow().getDecorView().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR){
	getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}

نظرات

بهنام 7 سال پیش

سلام.سورس کامل navigation drawer RTL رو دارید در اختیار من بگذارید?

 

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .