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

در این مقاله قرار هست کلیاتی را مطرح کنیم که به کمک آنخا به راحتی می توانید اپلکیشن های خود را راست چین کنید . برای راستچین کردن سورس اندروید خود نیاز است مواردی که در ادامه گفته می شود را رعایت کنید تا درنهایت بتوانید یک اپلیکیشن راستچین داشته باشید.
طراحی و چینش اپلیکیشن های فارسی و عربی و … از راست به چپ هست . یعنی به صورت Right To Left که مختصرا به آن RTL گفته می شود.
خوشبختانه از Api=۱۷ که همان اندروید ۴.۲ هست , این موضوع قابل مدیریت است.
گام های راستچین کردن RTL سورس اندروید
بیاید شروع کنیم
- اولین کاری که باید انجام بدهید اضافه کردن
android:supportsRtl="true"
در تگدر فایل Manifest است.
خب عالی است … الان اپلیکیشن شما از RTL پشتیبانی میکند.
الان شما می توایند با انجام یکی از دو مورد زیر , اپلکیشن را در حالت RTL بررسی کنید.
- اگر فارسی زبان هستید , زبان فارسی را از منوی گوشی خود به عنوان زبان گوشی انتخاب کنید.
- یا از قسمت Developer Options (که باید در قسمت تنظیمات باشد) , گزینه ی Force RTL layout Direction را انتخاب کنید. ولی توجه داشته باشید که این گزینه زبان سیستم شما را تغییر نمی دهد.
لایه های طراحی (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
جایگزین شود. - اگر قرار هست که دایرکشن مربوطه را طراحی کنید باید به این صورت عمل کنید
کلام پایانی
اگر توضیحات بالا را با دقت بررسی و اعمال نمایید شما یک اپلیکشن راست چین خواهید داشت. نیاز به انجام شعبده بازی نیست ، کافیست Layout های مختلف را بررسی و تغییرات را در جای درست در Properties طبق توضیحات اعمال نمایید.
البته لازم است بگوییم موردی که اغلب برنامه نویسان اندروید انجام میدهند , استفاده از ویوهای کاستوم شده برای راست چیین شدن اپلیکیشن هستند . به این مفهوم که دستی ویو های مربوطه را وارد می کنند .