viewpager的使用

1这是activity界面.


public class MainActivity extends Activity implements OnPageChangeListener  {

private ViewPager vp;
private List<View> views;
private View view1,view2,view3;
private ImageView[] dots;  //声明图像控件组
private int[] ids={R.id.iv1,R.id.iv2,R.id.iv3}; //获取imageView对应的ID


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp=(ViewPager) findViewById(R.id.viewPager);

iniview();
initDots();

}
private void iniview(){
LayoutInflater inflater=getLayoutInflater();  
   view1 = inflater.inflate(R.layout.viewpagwe_one, null);  
   view2 = inflater.inflate(R.layout.viewpagwe_two,null);  
   view3 = inflater.inflate(R.layout.viewpagwe_three, null);  
     
   views = new ArrayList<View>();// 将要分页显示的View装入数组中  
   views.add(view1);  
   views.add(view2);  
   views.add(view3); 
   
   viewPagerAdapter adapter=new viewPagerAdapter(MainActivity.this, views);
vp.setAdapter(adapter);
vp.setOnPageChangeListener(this);
}
private void initDots(){
dots=new ImageView[views.size()];
for (int i = 0; i < views.size(); i++) {
dots[i]=(ImageView) findViewById(ids[i]);
}
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}
@Override
public void onPageSelected(int arg0) {
for (int i = 0; i < ids.length; i++) {
if (arg0 == i) {
dots[i].setImageResource(R.drawable.img_11);
}else {
dots[i].setImageResource(R.drawable.img_22);
}
}

}

}


2.这是viewPager的Adapter

public class viewPagerAdapter extends PagerAdapter {

private Context context;
private List<View> views;



public viewPagerAdapter(Context context,List<View> views){
this.context=context;
this.views=views;
}
//getCount():返回要滑动的VIew的个数
@Override
public int getCount() {
return views.size();
}
   //isViewFromObject():对于这个函数就先不做讲解,大家目前先知道它要这样重写就行了,后面我们会对它进行改写。
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
//destroyItem():从当前container中删除指定位置(position)的View;
@Override
public void destroyItem(View container, int position, Object object) {
((ViewPager) container).removeView(views.get(position));
}
//instantiateItem():做了两件事,第一:将当前视图添加到container中,第二:返回当前View
@Override
public Object instantiateItem(View container, int position) {
((ViewPager) container).addView(views.get(position));
return views.get(position);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值