رفتن به مطلب

آموزش ترکیب RecyclearView+Viewpager+NavigationView با استفاده از CoordinatorLayout


محمدرضا شاهپیری

ارسال‌های توصیه شده

به نام خداوند بزرگ

بعد از یکی دوهفته که انجمن به خواب زمستونی فرو رفته بود دوباره به کمک خداوند و تلاش و همت دوستان دوباره برگشتیم تا درخدمت عزیزان باشیم♥

یه آموزش خوشگل واستون ترتیب دیدم که مطمئنم خیلی از دوستان منتظرش بودن. یه ترخینه از ویوهای اندروید رو تو این آموزش یاد میگیرین.

این جور ویوها واقعا زیبان. حتما توی برنامه هاتون ازشون استفاده کنید و مطمئنا تاثیر زیادی توی جذب کاربر داره.

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

امیدوارم از این آموزش استفاده کنید.

 

تصویری که توی برنامه اس متعلق به ایذه اس. کارون همیشه خروشان:malih::girl_flag_of_truce:

خداییش بپسنیدن. باشمام  که این مطلب رو میخونی. بپسند عزیز. مرسی. اه ه :malih:♥:answercenter:

ezgif_com_optimize.gif

 

لینک آموزش

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بسیار عالی به شخصه دنبال تب هاستش بودم ! واسه راست چین کردنش !

 

زیباست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تو این مدت که انجمن نبود انگار گم کرده داشتیم

ممنون که برگشتید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مرسی محمد جان 
بسیار آموزش خوبی یود 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • محمدرضا شاهپیری عنوان را به آموزش ترکیب RecyclearView+Viewpager+NavigationView با استفاده از CoordinatorLayout تغییر داد

مهندس شاهپیری سلام ممنون ...... آموزش مفیدباری بود .... من که لذت بردم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...
  • 2 ماه بعد...

سلام خسته نباشید

مهندس اگه ما تعداد تب هامون مشخص نباشه و انلاین بخوایم عنوان تب هارو گرفت و تعدادشون هم مشخص نباشه بعد باید چیکار کنیم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سادس عزیز.

اول کلاس pageradapter رو به شکل زیر تغییر بدین

package com.mohamadrezsh.tabcordinate.adapter;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;

import java.util.ArrayList;

public class PagerAdapter extends FragmentStatePagerAdapter {
   private ArrayList<Fragment> fragmentArrayList;
    public PagerAdapter(FragmentManager fm,ArrayList<Fragment> fragmentArrayList) {
        super(fm);
        this.fragmentArrayList = fragmentArrayList;
    }

    @Override
    public Fragment getItem(int position) {

        return fragmentArrayList.get(position);
    }

    @Override
    public int getCount() {
        return  fragmentArrayList.size();
    }
    public void addTabPage(Fragment fragment) {
        fragmentArrayList.add(fragment);
        notifyDataSetChanged();
    }
}

حالا واسه اضافه کردن هم به شکل زیر عمل کنید.

      ArrayList<Fragment> fragments=new ArrayList<>();
       PagerAdapter adapter= new PagerAdapter
                (getSupportFragmentManager(),fragments);
        tabLayout.addTab(tabLayout.newTab().setText("تب اول"));
        adapter.addTabPage(new Fragment1());
        tabLayout.addTab(tabLayout.newTab().setText("تب دوم"));
        adapter.addTabPage(new Fragment2());
        viewPager.setAdapter(adapter);

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از پاسختون استاد

به این تصویر توجه کنید

http://s8.picofile.com/file/8313049150/photo_2017_11_29_12_31_49.jpg

اینجا تعداد دسته ها متفاوته شاید 3 تا باشه شاید 20 تا

شما تو کدهاتون برا هر فرگمنت یک class مثلا  Fragment1 کردید که در این صورت من باید د تا تعریف کنم

ایا راه حلی هست؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خیر عزیز نیازی نیست. شما با یه فرگمنت هم میتونید همه کارهاتونو بکنید. البته به شرطی که تبهاتون بیسشون یکی باشه. مثلا همه یه ریسایکلرویو دارن که اطلاعات مختلفی رو میگیرن.

اگه اینجوری هست کافیه به فرگمنت آرگومان بدین و یه instanse ازش بسازید. متد زیر رو توی فرگمنتتون ایجاد کنید

public static MyFragment newInstance(int someInt) {
    MyFragment myFragment = new MyFragment();

    Bundle args = new Bundle();
    args.putInt("someInt", someInt);
    myFragment.setArguments(args);

    return myFragment;
}

حالا توی متد onCreate (توی فرگمنتتون) کافیه به صورت زیر مقادیر رو بگیرید و استفاده کنید.

getArguments().getInt("someInt", 0);

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...