layout_weight="1"android:
id="@+id/viewpager"android:
layout_width="match_parent"android:
layout_height="0dp"android:
layout_above="@+id/bottom_tab_layout">
....
·1
·2
·3
·4
·5
·6
·7
·8
·9
·自定义适配器(adapter)类,新建CustomViewPagerAdapter.java文件packagecom.sylanty.syvideo;
importandroid.support.v4.view.PagerAdapter;importandroid.view.View;
importandroid.view.ViewGroup;
importjava.util.List;
publicclassCustomViewPagerAdapterextendsPagerAdapter{Listpages;
publicCustomViewPagerAdapter(Listpages){this.pages=pages;
};
//获取页面数量@Override
publicintgetCount(){returnpages.size();
}
//判断类型是否匹配@Override
publicbooleanisViewFromObject(Viewview,Objectobject){returnobject==view;
}
//加载page@Override
publicObjectinstantiateItem(ViewGroupcontainer,intposition){Viewview=pages.get(position);
container.addView(view);returnview;
}
//移除page@Override
publicvoiddestroyItem(ViewGroupcontainer,intposition,Objectobject){container.removeView(pages.get(position));
}
}
·
1
·
2
·
3
·
4
·
5
·
6
·
7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18
·
19
·
20
·
21
·22
·23
·24
·25
·26
·27
·28
·29
·30
·31
·32
·33
·34
·35
·36
·37
·38
·39
·在MainActivity类文件,MainActivity.java中调用ViewPager
....
//MainActivity起始函数
protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main_activity);initPages();
//初始化自定义适配器
customViewPagerAdapter=newCustomViewPagerAdapter(pages);
//设置adapterviewPager.setAdapter(customViewPagerAdapter);viewPager.setOnPageChangeListener(this);
}
....
·1
·2
·3
·4
·5
·6
·7
·8
·9
·10
·11
·12
·13
....
//初始化viewpager页面
privatevoidinitPages(){
pages=newArrayList();
Viewhomepage=View.inflate(MainActivity.this,R.layout.home_viewpager,null);Viewmepage=View.inflate(MainActivity.this,R.layout.me_viewpager,null);pages.add(homepage);
pages.add(mepage);
}
....
·1
·2
·3
·4
·5
·6
·7
·8
·9
·10
....
//继承自ViewPager.OnPageChangeListener接口
//实现页面滑动的事件监听@Override
publicvoidonPageScrolled(intposition,floatpositionOffset,intpositionOffsetPixels){
}
//继承自ViewPager.OnPageChangeListener接口
//实现页面选中后的事件监听@Override
publicvoidonPageSelected(intposition){resumeTab();
switch(position){
case0:
homeImage.setImageResource(R.drawable.home_blue);homeText.setTextColor(getResources().getColor(R.color.colorTextBlue));toolbartitle.setText(R.string.app_home);
break;case1:
meImage.setImageResource(R.drawable.me_blue);meText.setTextColor(getResources().getColor(R.color.colorTextBlue));toolbartitle.setText(R.string.app_me);
break;default:
break;
}
}
@Override
publicvoidonPageScrollStateChanged(intstate){
}
....