您的位置:首页 > 其它

viewpager 左右滑动笔记

2016-03-30 11:32 295 查看
//创建一个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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: