لی اوت در اندروید، بخش ۱ : مفاهیم اولیه

این مقاله به همراه دیگر مقالات این مجموعه ۱۶ قسمتی، بر اساس آموزش ویدیویی در pluralsight به نام Android Fundamental : Layout تهیه شده است. تاریخ تولید این دوره ۲۰۱۹ است.این مقالات صرفا برگردان فارسی نیست، تجربیات نگارنده در کنار تعبیرهای قابل درک فارسی، وجه تمایز این مقاله از نوشته های مشابه است. امیدوارم مفید باشد.لی اوت در اندروید ۱ : مفاهیم اولیه (در حال خواندن این مقاله هستید)لی اوت در اندروید ۲ : آشنایی با اتریبیوت های width و height لی اوت در اندروید ۳ : آشنایی با اتریبیوت های margin و padding لی اوت در اندروید ۴ : آشنایی با اتریبیوت gravity لی اوت در اندروید ۵ : آشنایی با لی اوت های پایهلی اوت در اندروید ۶ : آشنایی با LinearLayout لی اوت در اندروید ۷ : اتریبیوت weightلی اوت در اندروید ۸ : آشنایی با FrameLayoutلی اوت در اندروید ۹ : آشنایی با RelativeLayout لی اوت در اندروید ۱۰: آشنایی با CoordinateLayout لی اوت در اندروید ۱۱ : آشنایی با ConstraintLayoutلی اوت در اندروید ۱۲ : آشنایی با Layout Inspectorلی اوت در اندروید ۱۳ : بهینه سازی رابط کاربری لی اوت در اندروید ۱۴ : استفاده از تگ includeلی اوت در اندروید ۱۵ : استفاده از تگ mergeلی اوت در اندروید ۱۶ : استفاده از ViewStubفرض من این است که خواننده با برنامه نویسی اپلیکیشن اندرویدی توسط جاوا یا کاتلین آشناست. برای راحتی کار در ادامه فرض می‌کنیم برنامه‌نویسی اپلیکیشن دو بخش دارد:- سمت کد (کاتلین یا جاوا)- سمت ویو ( کدهای xml یا کامپوننت های ویژوال ادیتور در اندروید استودیو).این آموزش بیشتر در مورد سمت ویو است که حاوی لی اوت و اجزای سازنده صفحه است.(مثل دکمه یا متن یا تصویر)در این مجموعه مقالات، از برگردان فارسی بسیاری از اصطلاحات پرهیز شده و به جای آن خود کلمه اصلی به شکل فارسی نوشته شده است؛ مثل ویو (view) یا لی اوت(layout). بنظرم این روشِ آموزش، کاربردی‌تر و کم خطاتر خواهد بود. در این مجموعه مقالات، المان یا ویو را برای هر کامپوننتی که به صفحه اضافه میکنیم استفاده کرده ایم؛ مثل TextView یا LinearLayout.چایلد(child)ها همان فرزندان یا زیرمجموعه‌های یک ویو هستند.رابط کاربری یا UI در حقیقت یک رابط برای کنش‌های کاربر است.مثلا تصویر زیر یک صفحه‌ی لاگین است که یک «رابط کاربری» نام دارد.یک رابط کاربری حاوی المان های مختلف مثل دکمه و المان ورودی متنرابط کاربری از بخش های مختلفی به نام کامپوننت ها تشکیل شده است.بخش اصلی و پایه ای این کامپوننت ها، Root Container است.لی اوت در بردارنده کل صفحه به همراه تمامی المان ها یا کامپوننت هاستبه این root container، لی اوت هم میگویند.وظیفه لی اوت این است که کاپوننت های دیگر را به عنوان چایلد درخود جای دهد.مثلا برای ورودی نام کاربری و پسورد از EditText استفاده کردیم.برای نمایش متن از TextView استفاده کردیم.همچنین دو Button هم داریم.همچنین در اندروید میتوانیم nested layout داشته باشیم. یعنی یک لی اوت می‌تواند زیر مجموعه یا چایلد یک لی اوت دیگر باشد.تعریف لی اوت میتواند اینچنین باشد: ساختاریست که اجزاء رابط کاربری در آن تعریف میشود.به کامپوننت‌های موجود در صفحه «ویو» هم میگویند، اما ویو و لی اوت چطور به هم مرتبط هستند.در تصویر زیر سلسله مراتبی که در ویو وجود دارد را میبینید.یک کلاس جاوا به نام View داریم که base است.کلاس View چندین subclass دارد.مثل TextView و Button و...خیلی چیزهای دیگر. در اندروید به این مدل آبجکت های ویو widget هم میگویند.همچنین ویو میتواند ساب کلس دیگری به نام ViewGroup یا همان لی اوت داشته باشد.ما قرار است در این مقالات در مورد همین بخش از ویو صحبت کنیم. در مقاله بعدی، ابتدا به شکل کلی با یکی از لی اوت ها و اتریبیوت های معروف آشنا می‌شویم و در ادامه به شکلی جزئی به لی اوت ها می‌پردازیم.