XML布局
<android.support.v4.view.ViewPager android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/viewPager">
<FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/framelayout">
</FrameLayout>
</android.support.v4.view.ViewPager>
public class FirstActivity extends AppCompatActivity {
private ViewPager viewPager;
private List<Fragment> mFragmentList = new ArrayList<Fragment>();
private FragmentAdapter fragmentAdapter;
private RegisterFragment registerFragment;
private LoginFragment loginFragment;
private PhoneFragment phoneFragment;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
viewPager = (ViewPager) findViewById(R.id.viewPager);
registerFragment = new RegisterFragment();
loginFragment = new LoginFragment();
phoneFragment = new PhoneFragment();
mFragmentList.add(phoneFragment);
mFragmentList.add(registerFragment);
mFragmentList.add(loginFragment);
fragmentAdapter = new FragmentAdapter(this.getSupportFragmentManager(), mFragmentList);
toobarText = (TextView) findViewById(R.id.toobarText);
viewPager.setOffscreenPageLimit(3);
viewPager.setAdapter(fragmentAdapter);
viewPager.setCurrentItem(1);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
public void onPageSelected(int position) {
switch (position) {
case 0:
toobarText.setText("手机号登录");
break;
case 1:
toobarText.setText("注册");
break;
case 2:
toobarText.setText("登录");
break;
}
} public void onPageScrollStateChanged(int state) { } });
}
}
适配器
public class FragmentAdapter extends FragmentPagerAdapter{
List<Fragment> fragmentList = new ArrayList<Fragment>();
public FragmentAdapter(FragmentManager fm, List<Fragment> fragmentList) {
super(fm);
this.fragmentList = fragmentList;
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
public class RegisterFragment extends Fragment{
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.register_fragment, container, false);
return view;
}
}