创建多个布局 在activity_main中创建ViewPager,并且在主活动中拿到这个ViewPager
创建适配器继承PagerAdapter,创建List并且添加构造器。实现PagerAdapter的4个方法。
public class MyAdapter extends PagerAdapter {
private List< View> views;
public MyAdapter ( List< View> views) {
this . views = views;
}
@Override
public int getCount ( ) {
return views. size ( ) ;
}
@NonNull
@Override
public Object instantiateItem ( @NonNull ViewGroup container, int position) {
container. addView ( views. get ( position) ) ;
return views. get ( position) ;
}
@Override
public boolean isViewFromObject ( @NonNull View view, @NonNull Object object) {
return view== object;
}
@Override
public void destroyItem ( @NonNull ViewGroup container, int position, @NonNull Object object) {
container. removeView ( views. get ( position) ) ;
}
}
在主活动中获得布局文件对象,LayoutInflater li = getLayoutInflater().from(this);
然后拿到三个布局并且将之添加到List中,创建Adapter对象将含有页面的集合作为参数加入。使用ViewPager对象的setAdapter对象,将adapter对象填入。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate ( Bundle savedInstanceState) {
super . onCreate ( savedInstanceState) ;
setContentView ( R. layout. activity_main) ;
LayoutInflater li = getLayoutInflater ( ) . from ( this ) ;
View view1 = li. inflate ( R. layout. layout_1, null) ;
View view2 = li. inflate ( R. layout. layout_2, null) ;
View view3 = li. inflate ( R. layout. layout_3, null) ;
List< View> views = new ArrayList < > ( ) ;
views. add ( view1) ;
views. add ( view2) ;
views. add ( view3) ;
ViewPager viewPager = ( ViewPager) findViewById ( R. id. viewPager_YonC) ;
MyAdapter adapter = new MyAdapter ( views) ;
viewPager. setAdapter ( adapter) ;
}
}