List of usage examples for android.support.v4.view ViewPager setOffscreenPageLimit
public void setOffscreenPageLimit(int limit)
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); }