1,因为要进行滑动,所以中文在布局中就进行ViewPager布局
<android.support.v4.view.ViewPager
android:id="@+id/vp_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</android.support.v4.view.ViewPager>
2,添加Fragment
Fragment适配器
public class AppFragmentPageAdapter extends FragmentPagerAdapter {
public List<Fragment> mFragmentList;
public AppFragmentPageAdapter(FragmentManager fm, List<Fragment> fragmentList) {
super(fm);
mFragmentList=fragmentList;
}
@Override
public Fragment getItem(int position) {
return mFragmentList==null?null:mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList==null?0:mFragmentList.size();
}
}
Fragment 展现
private List<Fragment> fragmentList;
mcContainer.setAdapter(new AppFragmentPageAdapter(getSupportFragmentManager(),fragmentList));
mcContainer.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//Do Nothing
}
@Override
public void onPageSelected(int position) {
for (TextView viewer :
textViewList) {
viewer.setTextColor(mDefaultColor);
}
textViewList.get(position).setTextColor(mActiveColor);
}
@Override
public void onPageScrollStateChanged(int state) {
//Do Nothing
}
});
mcContainer -----ViewPager的定义
项目代码下:
布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FragmentActivity">
<android.support.v4.view.ViewPager
android:id="@+id/id_viewPager"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</android.support.v4.view.ViewPager>
</android.support.constraint.ConstraintLayout>
Fragment适配器
public class AppFragmentPageAdapter extends FragmentPagerAdapter {
public List<Fragment> mFragmentList;
public AppFragmentPageAdapter(FragmentManager fm, List<Fragment> fragmentList) {
super(fm);
mFragmentList=fragmentList;
}
@Override
public Fragment getItem(int position) {
return mFragmentList==null?null:mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList==null?0:mFragmentList.size();
}
}
展现:
public class MainActivity extends AppCompatActivity {
@BindView(R.id.vp_container)
ViewPager mcContainer;
private List<Fragment> fragmentList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
fragmentList=new ArrayList<Fragment>();
fragmentList.add(new FrontPageFragment());
fragmentList.add(new SalaryFragment());
fragmentList.add(new SettingFragment());
mcContainer.setAdapter(new AppFragmentPageAdapter(getSupportFragmentManager(),fragmentList));
mcContainer.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//Do Nothing
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
//Do Nothing
}
});
}
}