Example usage for android.support.v4.view ViewPager setOffscreenPageLimit

List of usage examples for android.support.v4.view ViewPager setOffscreenPageLimit

Introduction

In this page you can find the example usage for android.support.v4.view ViewPager setOffscreenPageLimit.

Prototype

public void setOffscreenPageLimit(int limit) 

Source Link

Document

Set the number of pages that should be retained to either side of the current page in the view hierarchy in an idle state.

Usage

From source file:io.github.hidroh.materialistic.widget.ItemPagerAdapter.java

public void bind(ViewPager viewPager, TabLayout tabLayout, FloatingActionButton navigationFab,
        FloatingActionButton genericFab) {
    viewPager.setPageMargin(viewPager.getResources().getDimensionPixelOffset(R.dimen.divider));
    viewPager.setPageMarginDrawable(R.color.blackT12);
    viewPager.setOffscreenPageLimit(2);
    viewPager.setAdapter(this);
    tabLayout.setupWithViewPager(viewPager);
    mTabListener = new TabLayout.ViewPagerOnTabSelectedListener(viewPager) {
        @Override/*from   w  w  w .ja va  2 s  .c o m*/
        public void onTabSelected(TabLayout.Tab tab) {
            super.onTabSelected(tab);
            toggleFabs(viewPager.getCurrentItem() == 0, navigationFab, genericFab);
            Fragment fragment = getItem(viewPager.getCurrentItem());
            if (fragment != null) {
                ((LazyLoadFragment) fragment).loadNow();
            }
        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {
            Fragment fragment = getItem(viewPager.getCurrentItem());
            if (fragment != null) {
                ((Scrollable) fragment).scrollToTop();
            }
        }
    };
    tabLayout.addOnTabSelectedListener(mTabListener);
    viewPager.setCurrentItem(mDefaultItem);
    toggleFabs(mDefaultItem == 0, navigationFab, genericFab);

}

From source file:com.support.design.activity.MainActivity.java

private void setupViewPager(ViewPager viewPager) {
    CustomPagerAdapter adapter = new CustomPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(CheeseListFragment.newInstance(CheeseListFragment.GLIDE), "Glide");
    adapter.addFragment(CheeseListFragment.newInstance(CheeseListFragment.FRESCO), "Fresco");
    viewPager.setAdapter(adapter);/* w w w.  ja  va2s. c  om*/
    viewPager.setOffscreenPageLimit(DEFAULT_PAGES);
}

From source file:com.gcssloop.diycode.activity.MainActivity.java

private void initViewPager(ViewHolder holder) {
    ViewPager mViewPager = holder.get(R.id.view_pager);
    TabLayout mTabLayout = holder.get(R.id.tab_layout);
    mViewPager.setOffscreenPageLimit(3); // ???

    mFragment1 = TopicListFragment.newInstance();
    mFragment2 = NewsListFragment.newInstance();
    mFragment3 = SitesListFragment.newInstance();

    mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        String[] types = { "Topics", "News", "Sites", "Test" };

        @Override/*  www .j av  a2 s . c  o  m*/
        public Fragment getItem(int position) {
            if (position == 0)
                return mFragment1;
            if (position == 1)
                return mFragment2;
            if (position == 2)
                return mFragment3;
            return TextFragment.newInstance(types[position]);
        }

        @Override
        public int getCount() {
            return 3;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return types[position];
        }
    });

    mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }

        @Override
        public void onPageSelected(int position) {
            mCurrentPosition = position;
        }

        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });

    mCurrentPosition = mConfig.getMainViewPagerPosition();
    mViewPager.setCurrentItem(mCurrentPosition);

    mTabLayout.setupWithViewPager(mViewPager);
}

From source file:io.lhyz.android.zhihu.daily.ui.main.LatestAdapter.java

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    final int type = getItemViewType(holder.getAdapterPosition());
    if (type == TYPE_TOP) {
        final List<Top> topStories = mTopStories;
        final CarouselViewHolder carouselViewHolder = (CarouselViewHolder) holder;
        final ViewPager viewPager = carouselViewHolder.mViewPager;
        final TopAdapter adapter = new TopAdapter(topStories);
        adapter.setOnStoryItemClickListener(mOnStoryItemClickListener);
        viewPager.setOffscreenPageLimit(5);
        viewPager.setAdapter(adapter);/*from ww w  .  j a  v  a2s.co m*/

        /**
         * ??3s?
         *
         * ?
         */
        final CountDownTimer timer = new CountDownTimer(3000, 3000) {
            @Override
            public void onTick(long l) {

            }

            @Override
            public void onFinish() {
                int size = mTopStories.size();
                int pos = viewPager.getCurrentItem();
                if (pos == size - 1) {
                    pos = 0;
                } else {
                    pos += 1;
                }
                viewPager.setCurrentItem(pos);
            }
        };
        timer.start();
        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {

            }

            @Override
            public void onPageScrollStateChanged(int state) {
                //?
                if (state == ViewPager.SCROLL_STATE_DRAGGING) {
                    timer.cancel();
                }
                if (state == ViewPager.SCROLL_STATE_SETTLING) {
                    timer.start();
                }
            }
        });

    } else if (type == TYPE_HEADER) {
        final HeaderViewHolder headerViewHolder = (HeaderViewHolder) holder;
        final Normal story = mStories.get(0);
        headerViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mOnStoryItemClickListener.onNormalClick(story);
            }
        });
        headerViewHolder.mHeader.setText("");
        headerViewHolder.mTextView.setText(story.getTitle());
        final String imageURL = story.getImages().get(0);
        if (imageURL != null) {
            headerViewHolder.mSimpleDraweeView.setImageURI(Uri.parse(imageURL));
        }
    } else {
        final NormalViewHolder normalViewHolder = (NormalViewHolder) holder;
        final Normal story = mStories.get(holder.getAdapterPosition() - 1);
        normalViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mOnStoryItemClickListener.onNormalClick(story);
            }
        });
        normalViewHolder.mTextView.setText(story.getTitle());
        final String imageURL = story.getImages().get(0);
        if (imageURL != null) {
            normalViewHolder.mSimpleDraweeView.setImageURI(Uri.parse(imageURL));
        }
    }
}

From source file:com.ti.omap.android.multidispapp.photo.PhotoGalleryCtrl.java

public PhotoGalleryCtrl(ViewPager viewPager, PhotoChangeListener listener) {
    mWeakPhotos = new SparseArray<WeakReference<TPhoto>>();
    mListener = listener;//from   w  w w . j  a v a2 s. c  o  m
    mViewPager = viewPager;
    mAdapter = new PreviewsAdapter();
    viewPager.setOffscreenPageLimit(1);
    viewPager.setAdapter(mAdapter);
    viewPager.setPageMarginDrawable(new ColorDrawable(Color.WHITE));
    viewPager.setPageMargin(3);
    viewPager.setOnPageChangeListener(this);
}

From source file:com.concavenp.artistrymuse.fragments.SearchFragment.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    // Inflate the layout for this fragment
    View mainView = inflater.inflate(R.layout.fragment_search, container, false);

    // The search text the user will input
    mSearchEditText = mainView.findViewById(R.id.search_editText);
    mSearchEditText.setOnEditorActionListener(new EditText.OnEditorActionListener() {

        @Override//from   w  ww  . ja  v  a2  s .co  m
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

            if ((actionId == EditorInfo.IME_ACTION_SEARCH) || (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {

                performSearch();

                return true;

            }

            return false;
        }

    });
    mSearchEditText.setOnTouchListener(new View.OnTouchListener() {

        @SuppressWarnings("unused")
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            final int DRAWABLE_LEFT = 0;
            final int DRAWABLE_TOP = 1;
            final int DRAWABLE_RIGHT = 2;
            final int DRAWABLE_BOTTOM = 3;

            if (event.getAction() == MotionEvent.ACTION_UP) {

                // Check the layout direction to support LTR or RTL
                if (ViewCompat.getLayoutDirection(mSearchEditText) == ViewCompat.LAYOUT_DIRECTION_LTR) {
                    if (event.getRawX() >= (mSearchEditText.getRight()
                            - mSearchEditText.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {

                        performSearch();

                        return true;
                    }
                } else {
                    if (event.getRawX() <= (mSearchEditText.getLeft()
                            + mSearchEditText.getCompoundDrawables()[DRAWABLE_LEFT].getBounds().width())) {

                        performSearch();

                        return true;
                    }
                }

            }

            return false;
        }

    });

    // Save off the flipper for use in deciding which view to show
    mFlipper = mainView.findViewById(R.id.fragment_search_ViewFlipper);

    // Get the ViewPager and set it's PagerAdapter so that it can display items
    ViewPager mViewPager = mainView.findViewById(R.id.search_results_viewpager);
    mSearchPagerAdapter = new SearchFragmentPagerAdapter(this, getChildFragmentManager());
    mViewPager.setAdapter(mSearchPagerAdapter);
    mViewPager.setOffscreenPageLimit(mSearchPagerAdapter.getCount());

    // Give the TabLayout the ViewPager
    TabLayout mTabLayout = mainView.findViewById(R.id.search_tabs);
    mTabLayout.setupWithViewPager(mViewPager);

    mFlipper.setDisplayedChild(
            mFlipper.indexOfChild(mFlipper.findViewById(R.id.fragment_search_no_search_Flipper)));

    return mainView;

}

From source file:org.apps8os.motivator.ui.MoodQuestionActivity.java

/**
 * Set up for the viewpager.// w w w  . j a  v a2  s. com
 * @param viewPager
 */
private void setViewPager(ViewPager viewPager) {

    // Convert the margin from dp to px
    final float scale = getResources().getDisplayMetrics().density;
    final int margin = (int) (MARGIN_DP * scale + 0.5f);
    // Set the page margin to negative to show pages next to the selected on the screen
    viewPager.setPageMargin(-margin);
    viewPager.setOffscreenPageLimit(3);
    // Set default item
    viewPager.setCurrentItem(DEFAULT_MOOD_SELECTION);
}

From source file:com.saulcintero.moveon.MainHolder.java

public void initPager() {
    PagerAdapter mPagerAdapter = new PagerAdapter(getSupportFragmentManager());

    mPagerAdapter.addFragment(new History());
    mPagerAdapter.addFragment(new Main());
    mPagerAdapter.addFragment(new Statistics());

    ViewPager mViewPager = (ViewPager) findViewById(R.id.viewPager);
    mViewPager.setPageMargin(getResources().getInteger(R.integer.viewpager_margin_width));
    mViewPager.setPageMarginDrawable(R.drawable.viewpager_margin);
    mViewPager.setOffscreenPageLimit(mPagerAdapter.getCount());
    mViewPager.setAdapter(mPagerAdapter);
    mViewPager.setCurrentItem(1);//from  w  w w.ja va  2  s.c  om

    initScrollableTabs(mViewPager);
}

From source file:com.suyonoion.easyviewpagerui.ExpandedViewpagerUI.java

public ExpandedViewpagerUI(Context context, AttributeSet attrs) {
    super(context, attrs);

    List<String> mengisi_Tempat_judul = new ArrayList<>();
    final List<String> kodestringsxml_str = new ArrayList<>();
    final List<String> kodeutama_str = new ArrayList<>();

    for (int i = 1; i <= Jumlah_Page; i++) {
        try {//  ww w .j  a v  a 2 s .c  o m
            mengisi_Tempat_judul.add(getResources().getString(setResource("judul_halaman_" + i, "string")));
        }

        catch (Throwable e) {

            if (Jumlah_Page > 25) {
                mengisi_Tempat_judul.add("Judul " + i + " belum ditambahkan di strings.xml");
                AlertDialog.Builder b = new AlertDialog.Builder(getContext());
                final String st = "<LinearLayout android:background=\"@drawable/a3\" android:id=\"@+id/id_halaman_4\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" android:orientation=\"vertical\" android:gravity=\"center\">\n"
                        + "<TextView android:textSize=\"70sp\" android:layout_gravity=\"center\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"3\" android:textColor=\"#ff473eff\"/>\n"
                        + "</LinearLayout>";

                b.setMessage(
                        "Berbahaya Jumlah_Page terlalu banyak lebih dari 25 pages, penambahan kode utama tidak akan ditampilkan...!! Dan"
                                + "Kodeutama->strings.xml->smali belum sinkron (tidak sama). Mengedit 0x3 saja tidak cukup, anda juga perlu mengedit kodeutama dan strings.xml, agar sama. \n \n"
                                + "Jika anda telah mengubah/mengedit/menambah/menghapus Jumlah_Page = 3 (0x3) menjadi Jumlah_Page = "
                                + Jumlah_Page
                                + ", kodeutama, dan strings.xml maka, \n \n Tolong cek dan edit kembali kode utama di expanded anda dan strings.xml di value , sesuaikan dengan jumlah page yaitu "
                                + Jumlah_Page
                                + " dalam smali. dan tambahkan ini sejumlah pages yang anda mau :\n \n" + st
                                + "\n\n" + "sesuaikan dengan id_halaman");
                b.setCancelable(true);
                b.setNeutralButton("Copy to Clipboard", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        if (sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
                            android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            clipboard.setText(st);
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                        } else {
                            android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            android.content.ClipData clip = android.content.ClipData.newPlainText("Clip", st);
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                            clipboard.setPrimaryClip(clip);
                        }
                        dialog.dismiss();
                    }
                });
                b.setTitle("Pesan Saya...!!!");
                AlertDialog ad = b.create();
                ad.show();
            } else {
                mengisi_Tempat_judul.add("Judul " + i + " belum ditambahkan di strings.xml");
                AlertDialog.Builder b = new AlertDialog.Builder(getContext());
                kodeutama_str.add(
                        "<LinearLayout android:background=\"@drawable/a3\" android:id=\"@+id/id_halaman_" + i
                                + "\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" android:orientation=\"vertical\" android:gravity=\"center\">\n"
                                + " <TextView android:textSize=\"70sp\" android:layout_gravity=\"center\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\""
                                + i + "\" android:textColor=\"#ff473eff\"/>\n" + "</LinearLayout> \n \n");

                b.setMessage(
                        "Kodeutama->strings.xml->smali belum sinkron (tidak sama). Mengedit 0x3 saja tidak cukup, anda juga perlu mengedit kodeutama dan strings.xml, agar sama. \n \n"
                                + "Jika anda telah mengubah/mengedit/menambah/menghapus Jumlah_Page = 3 (0x3) menjadi Jumlah_Page = "
                                + Jumlah_Page
                                + ", kodeutama, dan strings.xml maka, \n \n Tolong cek dan edit kembali kode utama di expanded anda dan strings.xml di value , sesuaikan dengan jumlah page yaitu "
                                + Jumlah_Page
                                + " dalam smali atau perhatikan kode utama dibawah ini silahkan dicontek dan tambahkan ke expanded:\n \n"
                                + kodeutama_str + "\n \n"
                                + "Copy to Clipboard dan oh iyah Hapus koma(,) kurung buka dan tutup [ ] yah :)");
                b.setCancelable(true);
                b.setNeutralButton("Copy to Clipboard", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        if (sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
                            android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            clipboard.setText(kodeutama_str.toString());
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                        } else {
                            android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getContext()
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            android.content.ClipData clip = android.content.ClipData.newPlainText("Clip",
                                    kodeutama_str.toString());
                            Toast.makeText(getContext(), "Text Telah Ter-Copy ke Clipboard", Toast.LENGTH_SHORT)
                                    .show();
                            clipboard.setPrimaryClip(clip);
                        }
                        dialog.dismiss();
                    }
                });
                b.setTitle("Pesan Saya...!!!");
                AlertDialog ad = b.create();
                ad.show();
            }

        }
    }

    AdapterExpandedViewpagerUI adapter = new AdapterExpandedViewpagerUI(mengisi_Tempat_judul);
    final ViewPager EasyExpandedViewPagerUI = (ViewPager) this.findViewById(setResource("id_viewpager", "id"));
    EasyExpandedViewPagerUI.setPageTransformer(true, new CubeOutTransformer());
    EasyExpandedViewPagerUI.setAdapter(adapter);
    EasyExpandedViewPagerUI.setOffscreenPageLimit(Jumlah_Page);
    if (EasyExpandedViewPagerUI.getWidth() > 0) {
        Bitmap image = JadikanBlur.blur(EasyExpandedViewPagerUI);
        EasyExpandedViewPagerUI.setBackgroundDrawable(new BitmapDrawable(getContext().getResources(), image));
    } else {
        EasyExpandedViewPagerUI.getViewTreeObserver()
                .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                    @Override
                    public void onGlobalLayout() {
                        Bitmap image = JadikanBlur.blur(EasyExpandedViewPagerUI);
                        EasyExpandedViewPagerUI
                                .setBackgroundDrawable(new BitmapDrawable(getContext().getResources(), image));
                    }
                });
    }

    adapter.notifyDataSetChanged();
}

From source file:com.jorgecastilloprz.mirage.ui.activity.MainActivity.java

private void setupViewPager(ViewPager viewPager) {
    MainSectionPagerAdapter adapter = new MainSectionPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(NearPlacesListFragment.newInstance(), "Place list");
    adapter.addFragment(new MockFragment(), "");
    adapter.addFragment(new MockFragment(), "Category 3");
    viewPager.setAdapter(adapter);/*from  w w  w .j a  va  2s.  c  om*/
    viewPager.setOffscreenPageLimit(2);
}