天天看點

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);

}

}

}

}

}