Dynamically set screen orientation android
Set following code before setting activity layout as follow
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setContentView(r.layout.yourlayout);
You have changed ViewPager's page by sliding it. You can also change page by click on next and previous button.
int globalPosition = 0;
// checking if pager can scroll or not
boolean can = mPager.canScrollHorizontally(1);
if(can)
{
mPager.setCurrentItem(++globalPosition,true);
}
boolean can = mPager.canScrollHorizontally(-1);
if(can)
{
mPager.setCurrentItem(--globalPosition,true);
}
mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
globalPosition = position;
}
});
ViewPager is nothing but horizontal scroller for entire screens.
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/your_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
mPager = (ViewPager) findViewById(R.id.your_pager);
ViewPager mPager;
PagerAdapter mPagerAdapter;
public static String [] pageItem = new String[]{"Page 1","Page 2","Page 3"};
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); mPager.setAdapter(mPagerAdapter);
private class ScreenSlidePagerAdapter extends
FragmentStatePagerAdapter
{
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
//
return new MyFragment(position);
}
@Override
public int getCount() {
return pageItem.length;
}
}public class MyFragment extends Fragment {
TextView textView;
int position = 0;
public MyFragment(int position)
{
this.position = position;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.my_screen_fragment, container, false);
textView = (TextView)rootView.findViewById(R.id.my_page_tv);
textView.setText(activityClassObject.pageItem[position]);
return rootView;
}
}