1.首先写activity周期,
public void onCreate(Bundle myBundle) {
super.onCreate(myBundle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_changeimages);
// —初始化,显示界面
// —新闻图片列表
imageViews = new ArrayList();
// —-显示图片状态标点
dots = new ArrayList();
ImageView imageview = new ImageView(this);
imageview.setBackgroundResource(R.drawable.wel1);
imageViews.add(imageview);
ImageView imageview1 = new ImageView(this);
imageview1.setBackgroundResource(R.drawable.wel2);
imageViews.add(imageview1);
ImageView imageview2 = new ImageView(this);
imageview2.setBackgroundResource(R.drawable.wel3);
imageViews.add(imageview2);
ImageView imageview3 = new ImageView(this);
imageview3.setBackgroundResource(R.drawable.wel4);
imageViews.add(imageview3);
2.两个点击事件!
lijitiyan_btn = (Button) findViewById(R.id.lijitiyan_btn);
tiaoguo_text = (TextView) findViewById(R.id.tiaoguo_text);
lijitiyan_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (!Const.curUserInfo.UserId.equals("0")) {
// Intent myIntent = new
// Intent(ChangeImageActivity.this,JngsHorizontalActivity.class);
// startActivity(myIntent);
} else {
Intent myIntent = new Intent(ChangeImageActivity.this,
LoginActivity.class);
startActivity(myIntent);
}
ChangeImageActivity.this.finish();
GlobalData.SetSharedData((Context) ChangeImageActivity.this,
"initi", "1");
}
});
tiaoguo_text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (!Const.curUserInfo.UserId.equals("0")) {
// Intent myIntent = new
// Intent(ChangeImageActivity.this,JngsHorizontalActivity.class);
// startActivity(myIntent);
} else {
Intent myIntent = new Intent(ChangeImageActivity.this,
LoginActivity.class);
startActivity(myIntent);
}
ChangeImageActivity.this.finish();
GlobalData.SetSharedData((Context) ChangeImageActivity.this,
"initi", "1");
}
});
dots.add(findViewById(R.id.v_change_dot0));
dots.add(findViewById(R.id.v_change_dot1));
dots.add(findViewById(R.id.v_change_dot2));
dots.add(findViewById(R.id.v_change_dot3));
3.通过adapter加载
viewPager = (ViewPager) findViewById(R.id.changeimage_vp);
viewPager.setAdapter(new MyAdapter());// 设置填充ViewPager页面的适配器
4.通过setOnPageChangeListener监听页面的改变
// 设置一个监听器,当ViewPager中的页面改变时调用
viewPager.setOnPageChangeListener(new MyPageChangeListener());
5.写监听事件
private class MyPageChangeListener implements OnPageChangeListener {
private int oldPosition = 0;
public void onPageSelected(int position) {
currentItem = position;
dots.get(oldPosition).setBackgroundResource(R.drawable.dot_normal);
dots.get(position).setBackgroundResource(R.drawable.dot_focused);
oldPosition = position;
if (position == 3) {
lijitiyan_btn.setVisibility(View.VISIBLE);
} else {
lijitiyan_btn.setVisibility(View.GONE);
}
}
public void onPageScrollStateChanged(int arg0) {
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
}
7.adapter的填充
/**
* 填充ViewPager页面的适配器
*
* @author Administrator
*
*/
private class MyAdapter extends PagerAdapter {
// 获取当前窗体界面数
@Override
public int getCount() {
return imageViews.size();
}
// 这个方法,return一个对象,这个对象表明了PagerAdapter适配器选择哪个对象放在当前的ViewPager中
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(imageViews.get(arg1));
return imageViews.get(arg1);
}
// 从ViewGroup中移出当前View
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
// 判断是否由对象生成界面
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
@Override
public void finishUpdate(View arg0) {
}
}
}