//创建一个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);
}
}
viewpager 左右滑动笔记
最新推荐文章于 2024-05-09 01:24:32 发布