آموزش راست چین (RTL) کردن سورس اندروید

بهمن 2, 1397| سنا عبادی
آموزش کامل راستچین کردن سورس اندروید | مارکت اندروید ریور

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

طراحی و چینش اپلیکیشن های فارسی و عربی و …  از راست به چپ هست . یعنی به صورت Right To Left  که مختصرا به آن RTL  گفته می شود.

خوشبختانه از Api=۱۷ که همان اندروید ۴.۲ هست  ,   این موضوع قابل مدیریت است.

گام های راستچین کردن RTL سورس اندروید

بیاید شروع کنیم

  • اولین کاری که باید انجام بدهید اضافه کردن android:supportsRtl="true" در  تگ در فایل Manifest  است.

خب عالی است … الان اپلیکیشن شما از RTL پشتیبانی میکند.

الان شما می توایند  با انجام یکی از دو مورد زیر , اپلکیشن را در حالت RTL  بررسی کنید.

  • اگر فارسی زبان هستید , زبان فارسی را از منوی گوشی خود به عنوان زبان گوشی انتخاب کنید.
  • یا از قسمت Developer Options (که باید در قسمت تنظیمات باشد) , گزینه ی Force RTL layout Direction را انتخاب کنید. ولی توجه داشته باشید که این گزینه زبان سیستم  شما را تغییر نمی دهد.
همچنین بخوانید :  آموزش Export / Import سورس اندروید در اندروید استدیو

لایه های طراحی (XML Layouts)

وقتی که اپ شما قرار هست از RTL  پشتیبانی کند ,  در کد های xml  مربوط به لایه های طراحی برای اتریبیوت هایی مانند layout_marginLeft/layout_marginRight/paddingLeft/paddingRight

بهتر هست از معادل های آن یعنی layout_marginStart/layout_marginEnd/paddingStart/paddingEnd

استفاده کنید . در کل فقط معادل right / left  که  end/start  هست را جایگزین کنید.

نکته : اندروید استودیو راه آسانتری را برای برنامه نویسان در نظر گرفته است . تنها با رفتن به این دایرکتوری این مرحله را انجام دهید . به این صورت :

Android Studio > Refactor > Add RTL support where possible…

 

توصیه می شود بعد از اعمال تغییرات یک بار برنامه را تست کنید که اعمال تمامی تغییرات را بررسی کنید . برای لایه هایی که نیاز به چینش چپ چین (LTR)دارید تنها با اضافه کردن android:layoutDirection="ltr"  در تگ ViewRoot  لایه ی مورد نظر , تغییر اعمال می شود.

 

فایل های جاوا

برخی از برنامه نویسان عقیده دارند که تغییرات موجود در فایل های xml  را به صورت دستی و در کلاس جاوا اعمال کنند.

برای تغیرات RTL  نیاز هست اینگونه عمل کنید :

  • اگر که (setMargin(left, top, right, bottom  را دارید باید به این صورت تغییر کند‌  (setMarginStart(start  و (setMarginEnd(end  در حقیقت باید معادل هایی که در بالا گفتیم را اعمال کنید.
  • اگر که( setPadding(left, top, right, bottom را دارید نیز یه این صورت باید نوشته شود (setPaddingRelative(start, top, end, bottom در حالت کلی باید به این صورت جایگزین شود.
  • و نیز( setGravity(Gravity.LEFT/RIGHT با عبارت (setGravity(Gravity.START/END جایگزین شود.
  • اگر قرار هست که دایرکشن مربوطه را طراحی کنید باید به این صورت عمل کنید
Configuration config = context.getResources().getConfiguration();
if (config.getLayoutDirection() == View.<em class="markup--em markup--li-em">LAYOUT_DIRECTION_RTL</em>) {
//RTL
}

 

همچنین بخوانید :  حل مشکل بسته شدن اپلیکیشن در اندروید 9

کلام پایانی

اگر توضیحات بالا را با دقت بررسی و اعمال نمایید شما یک اپلیکشن راست چین خواهید داشت. نیاز به انجام شعبده بازی نیست ، کافیست Layout های مختلف را بررسی و تغییرات را در جای درست در Properties طبق توضیحات اعمال نمایید.

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

5/5 (1 Review)
سنا عبادی CO-Founder نویسنده مقاله

توسعه دهنده موبایل به ویژه سیستم عامل اندروید ، هم بنیانگذار اندروید ریور و در تلاش برای تحقق یک رویا..



می تونی سنا عبادی رو توی شبکه های اجتماعی هم دنبال کنی ...

مقالات مرتبط را بخوانید :


سورس های اندروید شامل تخفیف رو ببین !


  تخفیف ها و اخبار ویژه رو در تلگراممون دنبال کن :)
به این مقاله امتیاز دهید :
5/5 (1 Review)
  خرید سورس های حرفه ای بازی و اپلیکیشن اندروید

دسته‌ها: آموزش برنامه نویسی اندروید

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

راهنما : برای نوشتن موارد مختلف در دیدگاه می توانید از راهنمای نگارش اندروید ریور استفاده کنید : نگارش کد کوتاه `your code`
نگارش کد بلند یا نگارش بخش عمده یک سورس کد :
[sourcecode lang="your code language"] your code here [/sourcecode]