viewpager 左右滑动笔记

来源:互联网 发布:程序员考试下午真题 编辑:程序博客网 时间:2024/05/19 21:42
//创建一个viewpager,viewpager=(ViewPager) findViewById(R.id.viewpager);  title=(PagerTitleStrip) findViewById(R.id.pagertitlestrip);   //获得Layout布局文件对象// LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!//而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。  LayoutInflater mli=LayoutInflater.from(this);  View view1=mli.inflate(R.layout.page1,null);  View view2=mli.inflate(R.layout.page2,null);  View view3=mli.inflate(R.layout.page3,null);  View view4=mli.inflate(R.layout.page4,null);    final ArrayList<View> views=new ArrayList<View>();  views.add(view1);  views.add(view2);  views.add(view3);  views.add(view4);    PagerAdapter adapter=new PagerAdapter() {      @Override   public boolean isViewFromObject(View arg0, Object arg1) {    return arg0==arg1;   }      @Override   public int getCount() {    return views.size();   }      @Override   public void destroyItem(View container, int position, Object object) {    ((ViewPager)container).removeView(views.get(position));   }      @Override   public Object instantiateItem(View container, int position) {    ((ViewPager)container).addView(views.get(position));    return views.get(position);   }  };    viewpager.setAdapter(adapter);//XML文件布局<android.support.v4.view.ViewPager        android:id="@+id/viewpager"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        >     //可有可无        <android.support.v4.view.PagerTitleStrip            android:id="@+id/pagertitlestrip"         android:layout_width="wrap_content"          android:layout_height="wrap_content"         android:layout_gravity="top"            />           </android.support.v4.view.ViewPager>//外加4个XML布局文件//对头标点击监听public class MyOnClickListener implements OnClickListener{    int index=0;    public MyOnClickListener(int i){   index=i;  }  @Override  public void onClick(View v) {   // TODO Auto-generated method stub   viewpager.setCurrentItem(index);  }   }// 图片动作控制class MyOnpagerlistener implements OnPageChangeListener {    int currIndex=0;      @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) {   // TODO Auto-generated method stub   Animation animation=null ;   switch (arg0) {   case 0:    if (currIndex==1) {     animation=new TranslateAnimation(one, 0, 0, 0);    }    else if (currIndex==2) {     animation=new TranslateAnimation(two, 0, 0, 0);    }    break;       case 1:    if (currIndex==0) {     animation=new TranslateAnimation(0, one, 0, 0);    }    else if (currIndex==2) {     animation=new TranslateAnimation(two, one, 0, 0);    }    break;      case 2:    if (currIndex==0) {     animation=new TranslateAnimation(0, two, 0, 0);    }    else if (currIndex==1) {     animation=new TranslateAnimation(one, two, 0, 0);    }    break;      }   currIndex=arg0;   animation.setFillAfter(true);   animation.setDuration(150);   image.startAnimation(animation);  }   }

0 0
原创粉丝点击