اضافة انميشن اثناء الانتقال بين fragment ببرنامج اندرويد ستوديو
كيفية تغيير شكل النقر على الزر في برنامج اندرويد ستوديو
اولا قم بعمل تصميم xml وبه table ولكن بإستخدام material وقم بعمل الكود الموجود في الصورة وهو بسيط جدا وسوف تشاهد ظهور ايرور في tabindicator لا تقلق منه .
قم بعمل تصميم جديد بإسم style واتوقع انكم اصبحتم قادرين الان على انشاء تصميم جديد , بداخله قم بعمل solid و corners كما بالصورة وهذا هو الشكل الذي سوف يظهر فوق الاسماء الموجوده في التصميم .
اذهاب الى MainActivity.class وقم بتعريف كل المتغيرات وسوف تلاحظ ظهور ايرور في MainAdapter قم بالنقر على alt + enter وبعدها creat inner class .
بعد حل المشكلة السابقة سوف جدة قام بعمل method باسم MainAdapter اجعلها ترث من FragmentPagerAdapter وبعدها alt + enter وحدد العناصر التالية وانقر موافق .
ايضا اضغط على alt + enter وبعدها حدد اول اختيار كما بالصورة وسوف تحل المشكلة .
الان يمكنك النظر الى الكود التالي او نسخه واستخدامه وسوف تجد في النهايه ان النتيجة ستظهر كما بالصورة الخاصه بالمقالة بهذا الدرس .
#public class MainActivity extends AppCompatActivity {
TabLayout tabLayout;
ViewPager viewPager;
MainAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabLayout = findViewById(R.id.table);
viewPager = findViewById(R.id.viewpager);
adapter = new MainAdapter(getSupportFragmentManager());
// هنا نضيف الفراجمنت التي نريدها
adapter.AddFragment(new BlankFragment1() , "First");
adapter.AddFragment(new BlankFragment2() , "second");
adapter.AddFragment(new BlankFragment3() , "third");
// نرسل الادبتر هنا ليحدث لهم انميشن اثناء الحركه
viewPager.setAdapter(adapter);
// ربط الشريط العلوي بي الانميشن
tabLayout.setupWithViewPager(viewPager);
}
private class MainAdapter extends FragmentPagerAdapter {
// تعريف array
ArrayList<Fragment> fragmentArray = new ArrayList<>();
ArrayList<String> stringArray = new ArrayList<>();
// انشاء constructor
private void AddFragment(Fragment f, String s) {
// اضافة فرجمنت
fragmentArray.add(f);
// اضافة array
stringArray.add(s);
}
public MainAdapter(@NonNull FragmentManager fm) {
super(fm);
}
@NonNull
@Override
public Fragment getItem(int position) {
// هنرجع الفراجمنت هنا
return fragmentArray.get(position);
}
@Override
public int getCount() {
// هنرجع حجم الفراجمنت هنا
return fragmentArray.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
// هنرجع هنا عنوان النص
return stringArray.get(position);
}
}
}
شاهد ايضا :-
- اندرويد ستوديو - كيفية عرض البيانات داخل كل RecyclerView عن طريق Fragment RecyclerView onClick android Studio
- شروحات اندرويد ستوديو : كيفية نقل واستقبال البيانات داخل Fargment - برنامج Android Studio
- اندرويد ستوديو : كيفية استخدام dialog داخل Fragments ببرنامج Android Studio
- شروحات اندرويد ستوديو : شرح انشاء Navigation component والتعامل مع التعامل مع Fragment Graph داخل Android Studio
- شروحات أندرويد ستديو : كيفية نقل البيانات بإستخدام navigation component من فراجنت الى اخر عن طريق Android Studio