Fragment در زامارین

ایجاد یک Fragment

برای ایجاد یک Fragment باید یک کلاس از نوع Android.App.Fragment ایجاد و متد OnCreateView آن را در صورت نیاز رونویسی کنیم. زمانیکه Fragment در صفحه قرار می گیرد و یک view را برای ما باز می گرداند، متد OnCreateView توسط Activity که در آن قراردارد فراخوانی خواهد شد. متد OnCreateView بطور پیشفرض این view را با افزودن یک فایل layout به container پدر، ایجاد می کند. زمانیکه اندروید، مشخصات لایه پدر را در UI (رابط کاربری) بکار می برد، مشخصات container ها اهمیت خواهد داشت. لطفا به کد زیر توجه کنید:

قطعه کد بالا یک view به نام Resource.Layout.Example_Fragment ایجاد کرده و آنرا به عنوان یک view فرزند به ViewGroup اضافه می کند.
توجه داشته باشید که زیرکلاس های Fragment بطور پیشفرض سازنده ای بدون پارامتر ورودی دارند.

اضافه کردن Fragment در Activity
به دو طریق می توانیم یک Fragment در Activity قرار دهیم:
• تعریفی:
Fragment ها را می توان در فایلهای .axml و بوسیله تگ تعریف کرد.
• برنامه نویسی:
در این روش Fragment ها بصورت داینامیک و با استفاده از کلاس FragmentManager تعریف می شوند.
چگونگی استفاده از کلاس FragmentManager را در ادامه آموزش خواهیم داد.

با استفاده از یک Fragment تعریفی

برای افزودن Fragment به یک چیدمان، از تگ استفاده خواهیم کرد. سپس آن را توسط خصوصیات class یا خصوصیت android:name تعریف می کنیم. مثال زیر چگونگی تعریف fragment با استفاده از خصوصیات class را نشان می دهد:

مثال زیر چگونگی تعریف یک fragment با استفاده از خصوصیت android:name را نشان می دهد:

زمانیکه Activity ساخته می شود، اندروید از هر fragment که در فایل چیدمان تعریف شده است، یک نمونه ایجاد کرده و view ایجاد شده از طریق متد OnCreateView را در مکان fragment قرار می دهد. framgment هایی که به روش تعریفی به Activity اضافه می شوند استاتیک بوده و از ابتدا تا انتهای چرخه عمر Activity در آن خواهند بود و امکان حذف و جایگزین کردن این نوع fragment ها در چرخه عمر Activity وجود ندارد.
هر fragment باید دارای یک شناسه یا ID یکتا باشد:
android:id: مقدار این خصوصیت، برای هر عنصر تشکیل دهنده رابط کاربری در یک فایل چیدمان، منحصر به فرد و یکتا خواهد بود.
android:tag: مقدار این خصوصیت، یک رشته یکتا خواهد بود.

نکته: هر چند که می توانید با Xamarin.Android در namespace ها از کاراکترهای بزرگ برای نامگذاری ها استفاده کنید ولی برای نامگذاری package ها حتما از کاراکترهای کوچک استفاده کنید. چون اندروید اجازه استفاده از کاراکترهای بزرگ برای نام گذاری پکیج ها را به شما نخواهد داد. اگر پکیج شما دارای کاراکترهای بزرگ باشد به هنگام ساخت view یک exception دریافت خواهید کرد.

یا

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

− 3 = 5