天天看点

android程序 幻灯片,Android:ViewPager制作幻灯片

public class MainActivity extendsActivity {//ViewPager

privateViewPager viewpager;//幻灯片图片资源

private int [] imgArray={R.drawable.view1,R.drawable.view2,R.drawable.view3};//图片数组

private ArrayListviewlist;privateImageView imageView;//点点

privateViewGroup pointgroup;privateImageView[] pointarr;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {//TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_viewpage);//初始化

viewpager =(ViewPager) findViewById(R.id.viewpager);

pointgroup=(ViewGroup) findViewById(R.id.pointgroup);

viewlist= new ArrayList();//将图片装载到数组

for(int i=0;i

imageView=new ImageView(this);//设置图片

imageView.setBackgroundResource(imgArray[i]);//设置图片id

imageView.setId(imgArray[i]);

viewlist.add(imageView);

}

//传递上下文

Context context = MainActivity.this;

MyPageAdapter pageadapter2=newMyPageAdapter(viewlist,context);

viewpager.setAdapter(pageadapter2);//点数组

pointarr=newImageView[imgArray.length];//把点加入布局,和设置点状态

for(int i=0;i

ImageView point=new ImageView(this);//设置点大小

point.setLayoutParams(new LayoutParams(10,10));

pointarr[i]=point;//状态处理

if(i==0){

pointarr[i].setBackgroundResource(R.drawable.viewpage_point_focused);

}else{

pointarr[i].setBackgroundResource(R.drawable.viewpage_point_unfocused);

}//加入到容器

pointgroup.addView(pointarr[i]);

}//viewpager设置监听器

pointChangeListener pointListener=newpointChangeListener();

viewpager.setOnPageChangeListener(pointListener);//点击图片

}

public class pointChangeListener implementsOnPageChangeListener{

@Overridepublic void onPageScrollStateChanged(intarg0) {//TODO Auto-generated method stub

}

@Overridepublic void onPageScrolled(int arg0, float arg1, intarg2) {//TODO Auto-generated method stub

}

@Override//比如切换到第二张图片,相应索引的点为选择状态,其他为未选中状态

public void onPageSelected(intarg0) {//TODO Auto-generated method stub

for(int i=0;i

pointarr[arg0].setBackgroundResource(R.drawable.viewpage_point_focused);if(arg0 !=i){

pointarr[i].setBackgroundResource(R.drawable.viewpage_point_unfocused);

}

}

}

}

}