1,PagerAdapter的使用
private class MyViewPagerAdapter extends PagerAdapter {
View view = View.inflate(getApplicationContext(), R.layout.activity_splash_last_item, null);
// 获取当前窗体界面数
@Override
public int getCount() {
return images.length + 1;
}
// 是从ViewGroup中移出当前View
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
if (position == list.size()) {
container.removeView(view);
} else {
container.removeView(list.get(position));
}
}
// 返回一个对象,这个对象表明了PagerAdapter适配器选择哪个对象放在当前的ViewPager中
@Override
public Object instantiateItem(ViewGroup container, int position) {
if (position == list.size()) {
View view = View.inflate(getApplicationContext(), R.layout.activity_splash_last_item, null);
Button btn_enter_home = (Button) view.findViewById(R.id.btn_enter_home);
btn_enter_home.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Editor editor = sp.edit();
editor.putBoolean("entered", true);
editor.commit();
startActivity(new Intent(getApplicationContext(), HomeActivity.class));
finish();
}
});
container.addView(view);
return view;
}
container.addView(list.get(position));
return list.get(position);
}
// 断是否由对象生成界面
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
}
2,页面切换时调用的方法
// 页面切换时的动作
viewpager.setOnPageChangeListener(new OnPageChangeListener() {
/**
*
* @param arg0
* 当前选中页面的position
*/
@Override
public void onPageSelected(int arg0) {
for (int i = 0; i < list_point.size(); i++) {
if (i==arg0) {
list_point.get(i).setBackgroundResource(R.drawable.point);
} else {
list_point.get(i).setBackgroundResource(R.drawable.point_gray);
}
}
}
/**
*
* @param arg0
* 当前页面
* @param arg1
* 当前页面偏移的百分比
* @param arg2
* 当前页面偏移的像素
*/
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
/**
*
* @param arg0
* 1表示正在滑动 2滑动停止 0什么都没做
*/
@Override
public void onPageScrollStateChanged(int arg0) {
}
});