package github.nisrulz.viewpager; import android.os.Build; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.LinearLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Declare ViewPager ViewPager myVP = new ViewPager(this); // Set ID of viewpager if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) { myVP.setId(Util.generateViewId()); } else { myVP.setId(View.generateViewId()); } // Get a reference to LinearLayout of the activity LinearLayout linL = (LinearLayout) findViewById(R.id.container); linL.addView(myVP); // Set the adapter myVP.setAdapter(new MyFragmentPagerAdapter( getSupportFragmentManager())); // Set the on page change listener myVP.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { Toast.makeText(MainActivity.this, "Selected page position: " + position, Toast.LENGTH_SHORT).show(); } @Override public void onPageScrollStateChanged(int state) { } }); // set page transformer for animation myVP.setPageTransformer(false, new ViewPager.PageTransformer() { @Override public void transformPage(View view, float position) { int pageWidth = view.getWidth(); int pageHeight = view.getHeight(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. Util.setAlpha(view, 0); } else if (position <= 1) { // Page to the left, page centered, page to the right // modify page view animations here for pages in view } else { // (1,+Infinity] // This page is way off-screen to the right. Util.setAlpha(view, 0); } } }); } }