این مقاله به همراه دیگر مقالات این مجموعه ۱۶ قسمتی، بر اساس آموزش ویدیویی در pluralsight به نام Android Fundamental : Layout تهیه شده است. تاریخ تولید این دوره ۲۰۱۹ است.
روند منبع فوق در فهرست و محتوای مقالات، بطور کلی حفظ شده است ولی در جزئیات یک ترجمه کلمه به کلمه نیست؛ نگارش فهرست و محتوا با افزودن و دخالت همراه بوده است.
بطور کلی هر جا حس شده توضیح بیشتر به درک مطلب کمک میکند دریغ نشده است.
لی اوت در اندروید ۱ : مفاهیم اولیه
لی اوت در اندروید ۲ : آشنایی با اتریبیوت های width و height
لی اوت در اندروید ۳ : آشنایی با اتریبیوت های margin و padding
لی اوت در اندروید ۴ : آشنایی با اتریبیوت gravity
لی اوت در اندروید ۵ : آشنایی با لی اوت های پایه
لی اوت در اندروید ۶ : آشنایی با LinearLayout
لی اوت در اندروید ۷ : اتریبیوت weight
لی اوت در اندروید ۸ : آشنایی با FrameLayout
لی اوت در اندروید ۹ : آشنایی با RelativeLayout
لی اوت در اندروید ۱۰: آشنایی با CoordinateLayout
لی اوت در اندروید ۱۱ : آشنایی با ConstraintLayout
لی اوت در اندروید ۱۲ : آشنایی با Layout Inspector
لی اوت در اندروید ۱۳ : بهینه سازی رابط کاربری
لی اوت در اندروید ۱۴ : استفاده از تگ include
لی اوت در اندروید ۱۵ : استفاده از تگ merge (در حال خواندن این مقاله هستید)
لی اوت در اندروید ۱۶ : استفاده از ViewStub
وقتی بخواهید ویوهای بلااستفاده را حذف کنید در نهایت باعث افزایش پرفورمنس لی اوت شما خواهد شد.
بعنوان مثال لی اوت زیر را در نظر بگیرید
فرض کنید این لی اوت خاص که شامل لوگو و متن زیر آن است در صفحه login و signup و contact استفاده میشود.
این لی اوت میتواند به عنوان یک لی اوت reusable استفاده شود.
لی اوت دیگری داریم که به شکل زیر است و میخواهیم لی اوت بالا را در محلی که با کادر قرمز مشخص شده قرار دهیم.
به راحتی با تگ include اینکار قابل انجام است.
اتفاقی که افتاده LinearLayout و ویوهای چایلد مربوط به company_logo به این صفحه منتقل شده اند.
به کمک layout inspector صفحه را بررسی میکنیم.
ابتدا لی اوت روت را پیدا میکنیم که اولین فرزند id/content است.اولین چایلد لی اوت روت ما همان فایلی است که به صفحه include شده.
دقت کنید که دو LinearLayout از نوع ورتیکال زیر هم قرار گرفته اند و واضح است با حذف دومی که چایلد است اتفاقی برای محتویات آن نمی افتد چون یک LinearLayout روت هم با همان شکل داریم.
میتوان گفت LinearLayout موجود در فایل include بلااستفاده است.
کافیست در فایل include شده، لی اوت روت را به merge تغییر دهیم.
پس از اجرای برنامه، inspect را باز میکنیم. سلسله مراتب ویوها به شکل زیر شده
با اینکار پرفورمنس برنامه افزایش می یابد.در تگ مرج اتریبیوت های مرتبط با layout را حذف میکنیم:
مشکلی پیش نخواهد آمد چون در ران تایم این ویوها زیرمجموعه لی اوت اصلی میشوند.
به همین راحتی یک قدم کوچک اما موثر در بهینه سازی لود صفحه انجام دادیم.