قطعه بخشی از activity یا فعالیت است که طراحی فعالیت های مدولار را امکان پذیر می کند. می توان گفت قطعه نوعی فعالیت فرعی است.
نکات مهم
- یک قطعه دارای طرح و رفتار خاص خود و callback های چرخه حیات مخصوص خود است.
- وقتی activity یا فعالیت در حال اجراست ، می توانید قطعات را به آن اضافه یا از آن حذف کنید.
- می توانید چندین قطعه را در یک فعالیت واحد ترکیب کنید تا یک رابط کاربری چند سطحی ایجاد کنید.
- قطعه را می توان در چندین فعالیت استفاده کرد.
- چرخه حیات قطعه نزدیک به چرخه حیات فعالیت میزبان آن است یعنی وقتی فعالیت متوقف می شود، تمام قطعات موجود در آن نیز متوقف می شوند.
- یک قطعه می تواند رفتاری را پیاده کند که هیچ مؤلفه رابط کاربری نداشته باشد.
- قطعات در نسخه Honeycomb اندروید که دارای API نسخه ۱۱ است به API Android اضافه شده است.
شما با توسعه کلاس Fragment قطعات را ایجاد می کنید و می توانید با اعلام قطعه در فایل صفحه بندی فعالیت به عنوان یک عنصر <fragment> ، یک قطعه را در صفحه بندی فعالیت خود وارد کنید.
قبل از معرفی قطعه ، ما محدودیت داشتیم زیرا تنها می توانیم در یک زمان مشخص فقط یک فعالیت واحد را روی صفحه نمایش دهیم. بنابراین نمی توانستیم صفحه نمایش دستگاه را تقسیم کنیم و بخش های مختلف را به طور جداگانه کنترل کنیم. اما با معرفی قطعه انعطاف پذیری بیشتری به دست آوردیم و محدودیت داشتن یک فعالیت واحد بر روی صفحه را بطور همزمان حذف کردیم. اکنون می توانیم یک فعالیت واحد داشته باشیم اما هر فعالیت می تواند از چندین قطعه تشکیل شده باشد که صفحه بندی ، رویدادها و چرخه حیات کامل خود را دارند.
مثال زیر چگونگی ترکیب دو ماژول UI توسط قطعات برای طراحی تبلت را نشان می دهد، اما این قطعات برای طراحی گوشی باید از یکدیگر جدا شوند.
برنامه می تواند دو قطعه را در فعالیت A در هنگام اجرا روی دستگاه با اندازه تبلت اجرا کند. با این حال ، در یک صفحه نمایش به اندازه گوشی ، فضای کافی برای هر دو بخش وجود ندارد ، بنابراین فعالیت A شامل قطعه ای است که لیست مقالات را شامل می شود و وقتی کاربر مقاله ای را انتخاب کرد ، فعالیت B شروع می شود، که شامل قطعه دوم برای خواندن مقاله است.
چرخه حیات قطعه
چرخه حیات قطعات اندروید بسیار شبیه به چرخه حیات فعالیت اندروید است. در این بخش خلاصه مراحل مختلف چرخه حیات آن آمده است.
در اینجا لیستی از روش هایی که می توانید برای رد کردن در کلاس قطعه خود استفاده کنید –
- ()onAttach نمونه قطعه با یک نمونه فعالیت همراه است. به طور معمول وقتی قطعه به فعالیت اضافه شود، این متد فراخوانی می شود.
- ()onCreate سیستم هنگام ایجاد قطعه این متد را فراخوانی می کند. شما باید اجزای اساسی قطعه ای را که می خواهید هنگام مکث یا متوقف کردن قطعه حفظ کنید ، مقدار دهی اولیه کنید و سپس از سر بگیرید.
- ()onCreateView سیستم هنگامی که قطعه برای اولین بار است که رابط کاربری خود را ترسیم می کند این callback را فراخوانی می کند. برای ترسیم UI برای قطعه خود ، باید یک مؤلفه View را از این متد که ریشه طرح قطعه شما است برگردانید. اگر قطعه، UI را ارائه ندهد ، می توانید null برگردانید.
- ()onActivityCreated وقتی فعالیت میزبان ایجاد می شود ، ()onActivityCreated پس از متد ()onCreateView فراخوانی می شود. فعالیت و نمونه قطعه و همچنین سلسله مراتب مشاهده فعالیت ایجاد شده است. در این مرحله ، با متد ()findViewById به نما دسترسی پیدا می کنید. مثال. در این متد می توانید اشیاء را که به یک شیء Context نیاز دارند ، معرفی کنید.
- ()onStart متد ()onStart پس از قابل مشاهده شدن قطعه، فراخوانی می شود.
- ()onResume قطعه فعال می شود.
- ()onPause سیستم از این متد به عنوان اولین نشانه ی مبنی بر خروج کاربر از قطعه استفاده می کند.
- ()onstop با فراخوانی onStop قطعه متوقف می شود.
- ()onDestroyView نمای قطعه پس از فراخوانی این متد از بین می رود.
- ()onDestroy در انتهای حیات قطعه این متد فراخوانی می شود.
چگونه از قطعات استفاده کنیم؟
مراحل ساده ایجاد قطعات در زیر آورده شده است.
- اول از همه تصمیم بگیرید که چند قطعه را می خواهید در یک فعالیت استفاده کنید. به عنوان مثال می خواهیم از دو قطعه برای مدیریت حالت های افقی و عمودی دستگاه استفاده کنیم.
- بعد بر اساس تعداد قطعات ، کلاس هایی ایجاد کنید که کلاس Fragment را توسعه دهند. کلاس Fragment توابع callback ذکر شده در بالا را دارد. می توانید بر اساس نیاز خود ، هر یک از توابع را override کنید.
- با توجه به هر قطعه ، نیاز به ایجاد فایل های صفحه بندی در فایل XML دارید. این فایل ها دارای صفحه بندی برای قطعات تعریف شده هستند.
- در آخر فایل فعالیت را تغییر دهید تا منطق قطعات جایگزین شده براساس نیاز شما تعریف شود.
انواع قطعات
اساساً قطعات به سه طبقه تقسیم می شوند که در زیر نشان داده شده است.
- قطعات تک فریم (Single frame fragments ) – قطعات تک فریم برای دستگاه های نگه دارنده دستی مانند موبایل استفاده می کنند ، در اینجا ما فقط می توانیم یک قطعه را به عنوان نما نمایش دهیم.
- قطعات لیست (List fragments ) – به قطعات دارای نمای لیست ویژه، قطعات لیست گفته می شود.
- تراکنش قطعات (Fragments transaction ) – با استفاده از تراکنش قطعه می توانیم یک قطعه را به قطعه دیگر منتقل کنیم.