اندروید

ویژگی های جدید Constraint Layout

97/02/11

با آمدن Constraint Layout، طراحی UI های پیچیده بسیار ساده تر شد چرا که بیشتر کار های مربوط به طراحی در بخش Visual انجام می شود و نیازی نیست مدام در میان کدهای XML جستجو کنید. با Constraint Layout می توانید لایه های پیچیده را طراحی کنید و درعین حال یک درخت عناصر ساده داشته باشید. حال این Layout در ورژن ۱.۱ خود، با ویژگی های بهتر و مفیدتری برگشته است.

Android Gradle

برای دریافت کتابخانه مربوط به Constraint layout 1.1 باید dependency زیر را به Gradle خود اضافه کنید.

 


dependencies {
    compile 'com.android.support.constraint:constraint-layout:1.1.0'
}

 

ویژگی های جدید در ورژن ۱.۱

در ورژن ۱.۰  برای دادن درصد به یک View باید دو Guideline تعریف می کردیم اما الان این کار ساده تر شده است می توانید مستقیما به View مورد نظر خود مقدار بدهید. برای این منظور می توانید کد زیر را در تگ مربوطه وارد کنید.

 


android:layout_constraintWidth_percent = “۰.۷”
android:layout_constraintHeight_percent = “۰.۷”

 

خط اول برای محدودیت عرض، ۷۰ درصد را مقداردهی می کند و خط دوم برای محدودیت ارتفاع می باشد.

زنجیر ها

قرار دادن چندین عنصر در یک زنجیر، این امکان را به شما می دهد تا بتوانید جای گیری این عناصر را تنطیم کنید و مشخص کنید که به طور گروهی چه فضایی را اشغال کنند.

برای خصوصیت زنجیر، سه مقدار وجود دارد:

۱- spread: عناصر را با فضا های مساوی، در زنجیر تقسیم می کند.

۲- spread_inside: آخرین و اولین عنصر را به لبه ها می چسباند و فضای باقی مانده را به طور مساوی بین بقیه عناصر تقسیم می کند.

۳- packed: عناصر را در مرکز زنجیر جمع می کند.

Barriers

زمانی که احتمال می دهید عناصر شما ممکن است در زمان اجرای برنامه تغییر اندازه دهند، می توانید از Barrier استفاده کنید. این خصوصیت سه مقدار start، top، end ،bottom دریافت می کند. می توان به Barrier به عنوان یه گروه مجازی نگاه کرد چرا که در زمان اجرا نمایش داده نمی شوند.

Circular Constraint

با این خصوصیت می توانید محدودیت های دایره ایی تعریف کنید که شامل شعاع و زاویه می باشد. این محدودیت زمانیکه میخواهید یک فهرست دایره ایی ایجاد کنید، بسیار کاربردی است. برای مثال وقتی می خواهید برای یک floating action button یک محدودیت دایره ایی تعریف کنید:

 


app:layout_constraintCircle="@+id/fab"
app:layout_constraintCircleRadius="50dp"
app:layout_constraintCircleAngle="315"

 

Animation

در Constraint Layout می توانید با استفاده از Constraint set، چندین عنصر را به صورت همزمان حرکت دهید.

یک constraint set تنها محدودیت های یک Constraint Layout را نگهداری می کند. شما می توانید یک constraint set را در کد تعریف کنید یا آن را از یک layout دیگر بارگذاری کنید سپس آن را در یک Constraint Layout اعمال کنید، پس از آن تمامی عناصر را موجود در Constraint Layout را به روزرسانی کنید تا با constraint set  همخوانی پیدا کند.

برای حرکت دادن آن می توانید از TransitionManager.beginDelayedTransition() که در support library موجود می باشد، استفاده کنید. این متد باعث می شود تمامی تغییرات در constraint set حرکت کنند و حالت انیمیشن پیدا کنند.

با این اوصاف کاملا واضح است که کار کردن با Constraint Layout بسیار ساده تر از لایه های دیگر می باشد.

Android things چیست؟

امین سلیمانیان

Material Design چیست؟

مریم فلاح

نکاتی برای بهبود عملکرد برنامه اندروید

امین سلیمانیان