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

لی اوت در اندروید، بخش ۳ : آشنایی با اتریبیوت margin و padding

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

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



اگر با html آشنا باشید، درک این مقاله برای شما ساده خواهد بود. میخواهیم ببینیم فاصله بین TextView و لی اوت چطور تنظیم میشود.

بصورت پیش فرض هیچ فاصله ای بین لبه های المان و لبه های لی اوتی که المان در آن قرار دارد وجود ندارد.
بصورت پیش فرض هیچ فاصله ای بین لبه های المان و لبه های لی اوتی که المان در آن قرار دارد وجود ندارد.

اینکار را با دو روش margin یا padding میتوان انجام داد. با مارجین شروع میکنیم.

به کمک layout_margin مشخص میکنیم که فضای خالی اطراف المان تا لبه های لی اوتی که در آن قرار دارد چقدر باشد.
به کمک layout_margin مشخص میکنیم که فضای خالی اطراف المان تا لبه های لی اوتی که در آن قرار دارد چقدر باشد.

تکست ویو به اندازه 24dp از طرفینِ پرنت فاصله دارد. دقت کنید که از کلمه layout در نام اتریبیوت استفاده شده است.

کلمه margin به تنهایی یک اتریبیوت نیست بلکه layout_margin داریم.
کلمه margin به تنهایی یک اتریبیوت نیست بلکه layout_margin داریم.

یعنی مقادیر تعیین شده در مواجهه با لی اوتی که این ویو در آن قرار دارد سنجیده میشود.

مثل اتریبیوت های layout_width و layout_height که مقادیر متناظر با آنها در رابطه با لی اوتِ این TextView سنجیده میشود.

با اضافه کردن پدینگ اتفاق زیر می افتد:

اضافه کردن اتریبیوت padding به المان
اضافه کردن اتریبیوت padding به المان

همانطور که میبینید یک فضای خالی درون خود TextView ایجاد شده است و به لی اوت آن ارتباطی ندارد.

پس به یاد داشته باشید که مارجین همیشه در رابطه با بیرون یک ویو است و پدینگ همیشه در رابطه بادرون ویو است.
درک بهتر margin و padding
درک بهتر margin و padding

اینکار را با اتریبیوت های موجود در پنجره attributes هم میتوان انجام داد

تغییر مقادیر padding از طریق پنجره attributes
تغییر مقادیر padding از طریق پنجره attributes

برای چهار جهت اتریبیوت های جدا وجود دارد؛ دقت کنید که paddingStart و paddingLeft شبیه هم هستند با این تفاوت که paddingStart زبان های rtl را پشتیبانی میکند.

برای مارجین هم اتریبیوت های زیر را داریم:

اتریبیوت های مربوط به margin
اتریبیوت های مربوط به margin

در این مقاله بطور خلاصه به مفهوم margin و padding پرداختیم. همچنین برای مقدار دهی از واحد dp که بر اساس چگالی صفحه است استفاده کردیم. جدول زیر برای درک بهتر واحدها به شما کمک می‌کند.


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