Skip to main content

بکارگیری اشیاء در صفحات با LinearLayout

Using LinearLayout containers

اگر قصد افزودن دکمه یا متن به یک صفحه برنامه اندرویدی در اندروید استودیو دارید؛ بدون شک باید با LinearLayout آشنایی کامل داشته باشید تا بتوانید جهت اشیا مورد نظر را بدقت و بسته به نیاز طراحی کنید. در فیلم زیر تمامی مباحث مورد نیاز بطور کامل بررسی شده است.

لینک کمکی (official link) – تنظیم جهات اشیا در صفحات با LinearLayout

درج خطی اشیا در صفحات برنامه اندروید

همانطور که قبلاً توضیح دادم اشیاء در یک Linear Layout، یا به صورت عمودی و یا به صورت افقی چیده میشوند و الان من میخواهم کمی بیشتر در مورد این نوع چیدمان برای شما در پروژه اندرویدی که میشود محیط آنرا شبیه یک کانتینر فرض کرد توضیح بدهم.
من در یک پروژه به نام Linear Layout کار میکنم و main activity آن قبلاً از دو فایل لایوت متفاوت ساخته شده. Activity _main، که لایوت پدر است و content _main، که اشیایی را که در فضا سفید نمایش داده میشوند تعریف میکند، در واقع همان فضا محتوا اصلی.
و محیطی را سفارشی میکند که در پروژه‌ای که قبلاً ساخته بودیم مشاهده میکنیم.
من روی این تب content _main.xml دابل کلیک میکنم و بعد این کد را با ctrl + alt + L و یا cmd + opt + L در مک ریفرمت یا اینکه مجدداً قالب بندی میکنم.
تگ ریشه‌ای یا روت به طور پیش فرض Relative Layout است یعنی اینکه لایوتهای من از نوع چیدمان وابسته هستند. من الان این را نمیخواهم؛ چیدمان خطی را نیاز دارم.
من آنرا از Relative به Linear Layout تغییر میدهم، توجه کنید که وقتی نوع تگ را تغییر دادم نام آن هم در ابتدا تگ و هم در انتها تگ تغییر میکند.
بعد یک ویژگی orientation یا جهت اضافه میکنم، و مقدار آنرا horizontal یا افقی میگذارم.
بنابراین همانطور که قبلاً به شما گفتم، اشیاء در این لایوت به طور پیشفرض از چپ به راست چیده میشوند.
حالا میخواهم این عنصر Text View را از اینجا بردارم. این همان متن hello word است.

تنظیم جهت دکمه ها در اندروید استودیو

خب؛ به Design view لایوت میروم.
در اینجا سه تا دکمه داخل لایوت درآگ میکنم و چون لایوت روی جهت افقی تنظیم شده دکمه‌ها کنار هم قرار میگیرند.
حالا به کدها برمیگردم و جهت horizontal یا افقی را به vertical یا عمودی تغییر میدهم.
حالا دوباره می‌آیم داخل Design view و میبینیم که دکمه‌ها از بالا به پایین چیده شدند.
حالا میخواهم دکمه‌ها را در صفحه نمایش وسط چین کنم.
برای اینکار یک ویژگی به نام gravity را استفاده میکنم. توجه کنید که دو تا ویژگی gravity وجود دارد؛ یکی layout _gravity و یکی gravity خالی.
Gravity تنظیماتی را روی اشیاء درون کانتینر یا ظرف ما، که گفتیم همان صفحه نمایش برنامه اندرویدی ما است اعمال میکند.
بنابراین من gravity را روی center _horizontal تنظیم میکنم.
و یکبار دیگر به Design mode میروم و میبینیم که دکمه‌ها وسط چین شدند.
این ویژگی حتی اگر جهت لایوت تغییر کند؛ به قوه خود باقی است. پس یادتان نرود اگر روزی اشیاء در برنامه اندرویدی شما به چپ یا راست نمیرفتند، بدانید که یک ویژگی با نام گراویتی برای سنتر اشیاء داخل برنامه شما تعریف شده.
این دکمه در بالای صفحه به شما این امکان را میدهد که به راحتی حالت صفحه را از عمودی یا به اصطلاح Portrait به افقی یا Landscape و برعکس تبدیل کنید.
میتوانید با پایین کشیدن منو و انتخاب orientation یا جهت و یا براحتی با کلیک روی این دکمه اینکار را بکنید و دوباره به حالت اولیه برگردید.
برای مثال، عنصر ریشه‌ای یا لایوت اصلی شما ممکن است جهت آن به صورت عمودی باشد و بخواهید لایوتی با جهت دیگری داخل آن لایوت داشته باشید.

تنظیم جهت متون در اندروید استودیو

خب؛ من به Design view برمیگردم و یک Linear Layout دیگر داخل صفحه نمایش درآگ میکنم و آنرا روی horizontal یا افقی تنظیم میکنم.
حالا چند تا Text View هم درآگ میکنم داخل صفحه.
خب حالا مطمئن نیستم که آنها را در جای مناسب گذاشتم یا نه، پس به Text mode میروم و کمی پایین می‌آیم. خب میبینید که Text View خارج از Linear Layout جدید ما است، پس من آنرا کات میکنم و داخل Linear Layout جدید پاست میکنم.
و حالا ریفرمت میکنم.
خب حالا این خطوطی که مربوط به Text View هستند را انتخاب میکنم و با فشار دادن کلیدهای ctrl + D در ویندوز و cmd + D در مک این کدها را دو برابر میکنم.
توجه کنید که در ویژگی آیدی ارور گرفته، چون دو شیء آیدی مشترک دارند.
پس آیدی آنها را به textView1، textView2، textView3تغییر میدهم.
خب بعد چند ثانیه ارورها ناپدید میشوند.
خب حالا میروم به Design mode و میبینید که textViewها از چپ به راست قرار گرفتند.
خب، یکبار دیگر gravity را روی center _horizontal تنظیم میکنم تا قالب بندی آنها شبیه کدهای قبلی ما شود، و حالا میبینید که آنها وسط صفحه قرار گرفتند.

درج فضا خالی بین اشیا برنامه اندرویدی

در آخر میخواهم بین آنها کمی فضا خالی بگذارم.
پس به سراغ این text View ها میروم و یک ویژگی به نام margin اضافه میکنم.
توجه کنید که میتوانید margin ها را برای همه لبه‌ها تنظیم کنید، یعنی بالا، پایین، چپ و راست یا یک margin کلی برای اطراف شیء در نظر بگیرید. من margin را روی 10dp یا device independent pixels تنظیم میکنم.
حالا این کد را کپی میکنم و برای آن یکی text View ها هم پاست میکنم.
حالا نگاهی به Design mode بیندازیم، این نتیجه‌ای است که حاصل میشود.
در نهایت، این برنامه را روی یک دستگاه اجرا و تست میکنم.

جمع بندی

و اینجا می‌بینید که من برنامه را روی دستگاه خود، یعنی Nexus XP ران کردم.
خب؛ من میخواهم جهت دستگاه را تغییر بدهم تا موقعیت اشیاء را روی صفحه ببینید که چطوری بصورت اتوماتیک تغییر میکنند.
خب؛ به حالت عمودی برمیگردم و این نتیجه است.
خب؛ دیدید که Linear Layout یک مجموعه نمایشی پرکاربرد است که این امکان را به شما میدهد که اشیاء را با توجه به نیاز برنامه‌های خود به صورت افقی یا عمودی بچینید.

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

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

دوره ها
درس ها
طهاکو من
0