aboutsummaryrefslogtreecommitdiff
path: root/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/viewpager/ViewPagerActivity.java
blob: 3f9a79d02f0f8bb5171bdbd8b2d5e40e03370f43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package com.davemorrissey.labs.subscaleview.test.viewpager;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;

import com.davemorrissey.labs.subscaleview.test.AbstractPagesActivity;
import com.davemorrissey.labs.subscaleview.test.Page;
import com.davemorrissey.labs.subscaleview.test.R;

import java.util.Arrays;

import static com.davemorrissey.labs.subscaleview.test.R.layout.view_pager;
import static com.davemorrissey.labs.subscaleview.test.R.string.pager_p1_subtitle;
import static com.davemorrissey.labs.subscaleview.test.R.string.pager_p1_text;
import static com.davemorrissey.labs.subscaleview.test.R.string.pager_p2_subtitle;
import static com.davemorrissey.labs.subscaleview.test.R.string.pager_p2_text;
import static com.davemorrissey.labs.subscaleview.test.R.string.pager_title;

public class ViewPagerActivity extends AbstractPagesActivity {

    private static final String[] IMAGES = { "sanmartino.jpg", "swissroad.jpg" };

    public ViewPagerActivity() {
        super(pager_title, view_pager, Arrays.asList(
                new Page(pager_p1_subtitle, pager_p1_text),
                new Page(pager_p2_subtitle, pager_p2_text)
        ));
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ViewPager horizontalPager = findViewById(R.id.horizontal_pager);
        horizontalPager.setAdapter(new ScreenSlidePagerAdapter(getSupportFragmentManager()));
        ViewPager verticalPager = findViewById(R.id.vertical_pager);
        verticalPager.setAdapter(new ScreenSlidePagerAdapter(getSupportFragmentManager()));
    }

    @Override
    public void onBackPressed() {
        ViewPager viewPager = findViewById(getPage() == 0 ? R.id.horizontal_pager : R.id.vertical_pager);
        if (viewPager.getCurrentItem() == 0) {
            super.onBackPressed();
        } else {
            viewPager.setCurrentItem(viewPager.getCurrentItem() - 1);
        }
    }

    @Override
    protected void onPageChanged(int page) {
        if (getPage() == 0) {
            findViewById(R.id.horizontal_pager).setVisibility(View.VISIBLE);
            findViewById(R.id.vertical_pager).setVisibility(View.GONE);
        } else {
            findViewById(R.id.horizontal_pager).setVisibility(View.GONE);
            findViewById(R.id.vertical_pager).setVisibility(View.VISIBLE);
        }
    }

    private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
        ScreenSlidePagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            ViewPagerFragment fragment = new ViewPagerFragment();
            fragment.setAsset(IMAGES[position]);
            return fragment;
        }

        @Override
        public int getCount() {
            return IMAGES.length;
        }
    }

}