packagecom.example.viewpager;importjava.util.ArrayList;importjava.util.List;importandroid.os.Bundle;importandroid.R.integer;importandroid.app.Activity;importandroid.support.v4.view.ViewPager;importandroid.support.v4.view.ViewPager.OnPageChangeListener;importandroid.view.Menu;importandroid.view.View;importandroid.view.Window;importandroid.view.View.OnClickListener;importandroid.widget.ImageView;importandroid.widget.LinearLayout;public class MainActivity extends Activity implementsOnClickListener, OnPageChangeListener{privateViewPager vp;privateViewPagerAdapter vpAdapter;private Listviews;//引导图片资源
private static final int[] pics ={ R.drawable.ww,
R.drawable.ww1, R.drawable.ww2,
R.drawable.ww3 };//底部小店图片
privateImageView[] dots;//记录当前选中位置
private intcurrentIndex;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
views= new ArrayList();
LinearLayout.LayoutParams mParams= newLinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);//初始化引导图片列表
for (int i = 0; i < pics.length; i++) {
ImageView iv= new ImageView(this);
iv.setLayoutParams(mParams);
iv.setImageResource(pics[i]);
views.add(iv);
}
vp=(ViewPager)findViewById(R.id.viewpager);//初始化Adapter
vpAdapter= newViewPagerAdapter(views);
vp.setAdapter(vpAdapter);//绑定回调
vp.setOnPageChangeListener(this);//初始化底部小点
initDots();
}private voidinitDots() {
LinearLayout ll=(LinearLayout)findViewById(R.id.ll);
dots= newImageView[pics.length];//循环取得小点图片
for (int i = 0; i < pics.length; i++) {
dots[i]=(ImageView)ll.getChildAt(i);
dots[i].setEnabled(true);//都设为灰色
dots[i].setOnClickListener(this);
dots[i].setTag(i);//设置位置tag,方便取出与当前位置对应
}
currentIndex=0;
dots[currentIndex].setEnabled(false);//设置为白色,即选中状态
}/***设置当前的引导页*/
private void setCurView(intposition)
{if (position < 0 || position >=pics.length) {return;
}
vp.setCurrentItem(position);
}/***这只当前引导小点的选中*/
private void setCurDot(intpositon)
{if (positon < 0 || positon > pics.length - 1 || currentIndex ==positon) {return;
}
dots[positon].setEnabled(false);
dots[currentIndex].setEnabled(true);
currentIndex=positon;
}//当滑动状态改变时调用
@Overridepublic void onPageScrollStateChanged(intarg0) {
}//当当前页面被滑动时调用
@Overridepublic void onPageScrolled(int arg0, float arg1, intarg2) {
}//当新的页面被选中时调用
@Overridepublic void onPageSelected(intarg0) {//设置底部小点选中状态
setCurDot(arg0);
}
@Overridepublic voidonClick(View v) {int position =(Integer)v.getTag();
setCurView(position);
setCurDot(position);
}
}