Fragment

ما هو ال Fragment:

يمثل الfragment  سلوك أو جزء من واجهة المستخدم في الactivity. ويمكن أن تجمع أكثر من fragment  في activity  واحدة, لبناء واجهة مستخدم متعددة الأجزاء واعادة استخدام الجزء في أنشطة متعددة.

يجب أن تكون الFragment  مضمنة دائما في الactivity , توضع ال Fragment  في ملفات الxml layout, قد تكون مضافة للactivity  اما بواسطة وضع العنصر <fragment>  في ملف الlayout activity, أو مباشرة من خلال الكود code داخل الactivity’s class.

دورة حياة ال Fragment :

في ال android frament ليها دورة حياة مماثلة لل android activity, الشكل الاتي يشرح دورة حياة ال Fragmen:

ملف ال xml  لكل fragment  تكون تماما مثل xml activity .  الاشكال التالية توضح كود xml  لكل fragment:

1-انشاء Fragment :

-نشغل برمجية (Android studio ).

-تصميم ال XML  و Class  لكل Fragment,كالاتي:

1- اولا يجب أن نخصص لكل ,fragment  كود xml وكود java كالاتي:

*XML :

–  home_fragment.xml     :

 

   

 

 

 

– article_fragment.xml  :

 

          

 

 

 

– activity_main.xml  :

 

*Class  :

-HomeFragment.java  :

 

 

-ArticleFragment.java  :

 


– MainActivity.java  :

     

 


– الناتج (Output) :

ملاحظة:  عند اضافة fragment  الى activity layout  بواسطة تعريف ال fragment  في ملف ال     Layout xml  الأساسي , لايمكنك حذف الFragment  في وقت التشغيل.

*Swipe View :

يوصى فيه بعدد قليل من الشاشات, ويجب أن تكون كل شاشة مستقلة عن الأخرى.

-نشغل برمجية (Android studio ).

-تصميم ال XML  و Class  لكل Fragment,كالاتي:

1- اولا يجب أن نخصص لكل ,fragment  كود xml وكود java كالاتي:

XML :

– home_fragment.xml :

 

               

 

 

– article_fragment.xml  :

 

 

 

 

– activity_main.xml  :

* Class  :

-HomeFragment.java  :

 


-ArticleFragment.java  :

 


– MainActivity.java  :

 

– Class SimplePagerAdapter وهو موجودة في MainActivity.java :

 

 

*FragmentPagerAdapter  :

ويستخدم لتنفيذ PagerAdapter  التي تمثل كل صفحة fragment  التي يتم الاحتفاظ بها باستمرار .

عند استخدام ال FragmentPagerAdapter  يجب أن يكون ال viewPager  يحتوي على id , وليتم عمل الAdapter  نحتاج الى تنفيذ (getItem(int و() getCount .

 

-الناتج (Output) :

 

 

لتعزيز فهمك سأضع التطبيق و الأكواد الخاصة به : https://www.dropbox.com/s/duyyznfterv3xv7/Fragment.rar?dl=0

اقرأ الدرس التالي : listview