VerticalViewer.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package eu.kanade.mangafeed.ui.viewer;
  2. import android.view.MotionEvent;
  3. import android.widget.FrameLayout;
  4. import java.util.List;
  5. import butterknife.Bind;
  6. import butterknife.ButterKnife;
  7. import eu.kanade.mangafeed.R;
  8. import eu.kanade.mangafeed.data.models.Page;
  9. import eu.kanade.mangafeed.ui.activity.ReaderActivity;
  10. import eu.kanade.mangafeed.ui.adapter.ReaderPageAdapter;
  11. import eu.kanade.mangafeed.ui.viewer.base.BaseViewer;
  12. import eu.kanade.mangafeed.widget.ReaderViewPager;
  13. import fr.castorflex.android.verticalviewpager.VerticalViewPager;
  14. public class VerticalViewer extends BaseViewer {
  15. @Bind(R.id.view_pager) VerticalViewPager viewPager;
  16. private ReaderPageAdapter adapter;
  17. public VerticalViewer(ReaderActivity activity, FrameLayout container) {
  18. super(activity, container);
  19. activity.getLayoutInflater().inflate(R.layout.viewer_verticalviewpager, container);
  20. ButterKnife.bind(this, container);
  21. adapter = new ReaderPageAdapter(activity.getSupportFragmentManager());
  22. viewPager.setAdapter(adapter);
  23. viewPager.setOffscreenPageLimit(3);
  24. viewPager.setOnPageChangeListener(new ReaderViewPager.OnPageChangeListener() {
  25. @Override
  26. public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
  27. }
  28. @Override
  29. public void onPageSelected(int position) {
  30. currentPosition = position;
  31. updatePageNumber();
  32. }
  33. @Override
  34. public void onPageScrollStateChanged(int state) {
  35. }
  36. });
  37. }
  38. @Override
  39. public int getTotalPages() {
  40. return adapter.getCount();
  41. }
  42. @Override
  43. public void onPageListReady(List<Page> pages) {
  44. adapter.setPages(pages);
  45. updatePageNumber();
  46. }
  47. @Override
  48. public void onNextPage(Page page) {
  49. adapter.replacePage(getPosFromPage(page), page);
  50. }
  51. @Override
  52. public boolean onImageTouch(MotionEvent motionEvent) {
  53. return false;
  54. }
  55. }