ویوها و ویو گروپ ها در اندروید - بخش دوم

ویوها و ویو گروپ ها در اندروید - بخش دوم

در مطلب قبلی با انواع ویوها آشنا شدید، در ادامه قصد داریم به معرفی ویو گروپ ها و انواع لی اوت ها بیردازیم، با ما همراه باشید.

2. ویو گروپ ها

یک ویو گروپ آبجکتی غیرقابل مشاهده می باشد که سایر ویوها را در خود جای داده است، آبجکت های ViewGroup به منظور سازماندهی و کنترل لی اوت یک صفحه مورد استفاده قرار می گیرند و می توان از آنها برای ساخت یک سلسله مراتب از آبجکت های ویو استفاده کرد، در نتیجه قادر به ساخت لی اوت های پیچیده تری می گردید. البته هرچه لی اوت ساده تر باشد، سازگاری آن نیز بیشتر می گردد.

blog_18747_1

آبجکت های ViewGroup نیز مشابه آیتم های استاندارد ویو قابل استفاده در XML و یا کد جاوا می باشند.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<TextView

android:id="@+id/hello_world"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World!" />

<TextView

android:id="@+id/hello_world_2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World 2!" />

</LinearLayout>

درحالیکه تمامی کلاس های ViewGroup وظیفه مشابهی را به انجام می رسانند، هر زیرکلاس از ViewGroup برای هدف خاصی ساخته شده و در ادامه به آنها پرداخته می شود.

LinearLayout

از LinearLayout به منظور نمایش آیتم ها به صورت پشت سر هم استفاده می شود، در این لی اوت می توان آیتم ها را به صورت افقی یا عمودی به نمایش گذاشت. لی اوت های خطی برای تخصیص وزن به آیتم های ویوی فرزند استفاده می شوند، از این رو این آیتم ها را می توان در صفحه به صورت یک نسبت به یکدیگر به نمایش در آورد.

RelativeLayout

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

FrameLayout

این لی اوت جهت نمایش یک ویوی فرزند منفرد در یک زمان خاص طراحی شده است، FrameLayout آیتم ها را در یک پشته ترسیم می کند و یک روش ساده برای نمایش هر آیتم در اندازه های مختلف صفحات نمایش را در اختیار قرار می دهد.

ScrollView

ScrollView یک اکستنشن از کلاس FrameLayout است که اسکرولینگ آبجکت های فرزند خود در صفحه را مدیریت می نماید.

ViewPager

از ViewPager به منظور مدیریت چندین ویو و نمایش یک ویو در هر زمان استفاده می شود، کلاس ViewPager یک Adapter را می گیرد و به کاربر امکان جابجایی به سمت چپ و راست جهت مشاهده تمامی آیتم های ویوی در دسترس را می دهد.

RecyclerView

کلاس RecyclerView یک زیرکلاس ViewGroup است که به کلاس های ListView و GridView مربوط می باشد و گوگل توسط RecyclerView support library، آن را برای نسخه های قدیمی تر از اندروید در دسترس قرار داده است.

کلاس RecyclerView نیازمند استفاده از view holder design pattern جهت ریسایکلینگ کارآمد آیتم است و از کاربرد LayoutManager که کاموپوننت های خود را انعطاف پذیر و در عین حال ساده می کند نیز پشتیبانی می نماید.

CoordinateLayout

کلاس CoordinateLayout که به تازگی به کتابخانه پشتیبان طراحی اضافه شده است، از آبجکت Behavior برای تشخیص نحوه قرارگیری و جابجایی آیتم های فرزند ویو در حین تعامل کاربر با اپلیکیشن استفاده می کند.

3. ویوهای کاستوم

طیف گسترده ای از ویوها در اختیار شما قرار گرفته که می توانید آنها را در اپلیکیشن های خود مورد استفاده قرار دهید، اما گاهی اوقات لازم می شود تا ویوهای کاستوم خود را مطابق با نیازمندی های خود بسازید. در این مورد لازم است یک کلاس جاوای جدید که از View یا ViewGroup اکستند شده باشد، بسازید، اما در این مقاله نحوه ساخت ویوی کاستوم شرح داده نخواهد شد.

نتیجه گیری

در این مطلب آموزشی درباره مقدماتی ترین کامپوننت های اندروید یعنی لی اوت ها و ویوها مطالبی را فرا گرفتید. این کامپوننت ها اهمیت بسیار زیادی در اپلیکیشن های اندروید دارند، هرچه بیشتر با اندروید کار کنید، مطالب بیشتری درباره پلتفرم و کامپوننت های آن فرا خواهید گرفت و می توانید این موارد را در پروژه های خود پیاده سازی کنید.

 

http://code.tutsplus.com برگرفته از

اینها را هم بخوانید