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
-
}
-
});
-
}
-
}