用view实现页卡 添加标题使用PagerTabStrip方法 在xml文件中加在viewpager中
public class MainActivity extends AppCompatActivity {
ViewPager VP;
public List<View> viewList;
public View view1,view2,view3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VP=(ViewPager) findViewById(R.id.pager);
//LayoutInfalater用来实例化一个文件成为view
LayoutInflater inflater=getLayoutInflater();
view1=inflater.inflate(R.layout.layout1,null);
view2=inflater.inflate(R.layout.layout2,null);
view3=inflater.inflate(R.layout.layout,null);
viewList.add(view2);
viewList.add(view1);
viewList.add(view3);
pagerAdapter pa=new pagerAdapter(viewList);
VP.setAdapter(pa);
}
}
public class pagerAdapter extends PagerAdapter {
public List<View> viewList;
//不懂为啥传给他 下面也没用到啊 好像用到了 唉 愁人
public pagerAdapter(List<View> viewList){
this.viewList=viewList;
}
@Override
//获取页卡数目
public int getCount() {
return viewList.size();
}
@Override
//检测是否显示了
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
//清除一个页卡
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(viewList.get(position));
}
@Override
//实例化一个页卡
public Object instantiateItem(ViewGroup container, int position) {
container.addView(viewList.get(position));
return viewList.get(position);
}
}
用fragment当作页卡:
1.建立fragment:`
public class Fragment1 extends Fragment{
@Override
//实现该方法 虽然不知道都啥意思 文档也看不懂
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.view1, container, false);
}
}
2.建立FragmentPagerAdapter
public class MyFragmentPagerAdapter extends FragmentPagerAdapter{
//装fragment的集合
private List<Fragment>fragList;
//标题集合
private List<String>titleList;
public MyFragmentPagerAdapter(FragmentManager fm,List<Fragment> fragList,List<String>titleList) {
super(fm);
// TODO Auto-generated constructor stub
this.fragList=fragList;
this.titleList=titleList;
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return fragList.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return fragList.size();
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titleList.get(position);
}
}
2017.5.5