مرتضی دلیل
مرتضی دلیل
خواندن ۲ دقیقه·۵ سال پیش

لی اوت در اندروید ۱۴ : استفاده از تگ include

این مقاله به همراه دیگر مقالات این مجموعه ۱۶ قسمتی، بر اساس آموزش ویدیویی در pluralsight به نام Android Fundamental : Layout تهیه شده است. تاریخ تولید این دوره ۲۰۱۹ است.
روند منبع فوق در فهرست و محتوای مقالات، بطور کلی حفظ شده است ولی در جزئیات یک ترجمه کلمه به کلمه نیست؛ نگارش فهرست و محتوا با افزودن و دخالت همراه بوده است.
بطور کلی هر جا حس شده توضیح بیشتر به درک مطلب کمک می‌کند دریغ نشده است.

لی اوت در اندروید ۱ : مفاهیم اولیه
لی اوت در اندروید ۲ : آشنایی با اتریبیوت های width و height
لی اوت در اندروید ۳ : آشنایی با اتریبیوت های margin و padding
لی اوت در اندروید ۴ : آشنایی با اتریبیوت gravity
لی اوت در اندروید ۵ : آشنایی با لی اوت های پایه
لی اوت در اندروید ۶ : آشنایی با LinearLayout
لی اوت در اندروید ۷ : اتریبیوت weight
لی اوت در اندروید ۸ : آشنایی با FrameLayout
لی اوت در اندروید ۹ : آشنایی با RelativeLayout
لی اوت در اندروید ۱۰: آشنایی با CoordinateLayout
لی اوت در اندروید ۱۱ : آشنایی با ConstraintLayout
لی اوت در اندروید ۱۲ : آشنایی با Layout Inspector
لی اوت در اندروید ۱۳ : بهینه سازی رابط کاربری
لی اوت در اندروید ۱۴ : استفاده از تگ include (در حال خواندن این مقاله هستید)
لی اوت در اندروید ۱۵ : استفاده از تگ merge
لی اوت در اندروید ۱۶ : استفاده از ViewStub


برای کاستومایز کردن ویو ها و استفاده از ویوهای از پیش طراحی شده در لی اوت ها (که باعث پایداری و بهبود نگهداری و توسعه اپلیکیشن شما میشود) ما تگ include را در اندروید داریم که میتوانیم یک ویو را بارها در صفحات مختلف استفاده کنیم.

چه زمانی از تگ include استفاده کنیم؟

صفحه زیر را به عنوان activity1 در نظر بگیرید

همچنین بعنوان activity2 لی اوت زیر را در نظر بکیرید

ویوی Button در هر دو مشترک است. یعنی به لحاظ کد نیز این ویو تکرار شده است. یک برنامه نویس خوب این تکرار را انجام نمیدهد.

مثال زیر را ببینید:

تصویر دیده شده سه بار زیر هم تکرار شده است.

یک فایل به نام share.xml میسازیم؛ که در حقیقت قرار است بیانگر المان ImageView باشد.

خطای مربوط به namespace
خطای مربوط به namespace

خطایی که می‌بینید این است که این فایل xml حاوی namespace مربوط به app و android نیست. به کمک alt+enter آنها را اضافه میکنیم.

کد به شکل زیر خواهد شد. حالا به فایل اصلی برمیگردیم و به کمک تگ include از این فایل share.xml استفاده میکنیم:

از این قابلیت میتوان در همه لی اوت های دیگر یا فایل های دیگر استفاده کرد.
با هر کدام از این include ها میتوان به عنوان یک ویوی مستقل برخورد کرد.
یعنی میتوان به هرکدام id منحصر به فردی نسبت دهیم و در جاوا یا کاتلین استفاده کنیم.

هر تغییری در فایل share.xml در تمامی نقاطی که از آن استفاده کردیم اعمال میشود.
همچنین به طور خاص میتوانیم یکی از آنها را مثلا با مارجین 20 استفاده کنیم.

دقت کنید برای تغییر پراپرتی ها باید دو اتریبیوت layout_widht و layout_height را override کنیم.
با تمامی مزیتهایی که در مورد include گفتیم معایبی هم دارد.
ما تنها اتریبیوت هایی را میتوانیم override کنیم که ابتدای آن با _layout شروع شود.

در مقاله بعدی در مورد تگ merge صحبت میکنیم.

برنامه نویسیبهینه سازی اندرویدتگ includeآموزش layoutآموزش اندروید
برنامه نویس و علاقمند به برنامه نویسی، سینما، فلسفه و هر چیزی که هیجان انگیز باشد. در ویرگول از روزمرگیهای مرتبط با علاقمندیهام خواهم نوشت. در توئیتر و جاهای دیگر @mortezadalil هستم.
شاید از این پست‌ها خوشتان بیاید