blob: 3f9a79d02f0f8bb5171bdbd8b2d5e40e03370f43 [file] [log] [blame]
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;
}
}
}