版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/llayjun/article/details/79766967
引导页功能整理,最后一个View自定义界面
1、先上效果图
2、图片和底部point根据图片个数自动变化
主要代码:
public void initViewPager() {
viewList = new ArrayList<>();
//获取一个Layout参数,设置为全屏
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
//循环创建View并加入到集合中
int len = imageId.length;
for (int i = 0; i < len; i++) {
//new ImageView并设置全屏和图片资源
ImageView imageView = new ImageView(this);
imageView.setLayoutParams(params);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setBackgroundResource(imageId[i]);
//将ImageView加入到集合中
viewList.add(imageView);
}
lastView = LayoutInflater.from(this).inflate(R.layout.view_guide_last, null);
viewList.add(lastView);
//View集合初始化好后,设置Adapter
inviewpager.setAdapter(new ViewPagerAdapter(viewList));
//设置滑动监听
inviewpager.addOnPageChangeListener(this);
}
public void initPoint() {
//根据ViewPager的item数量实例化数组
ivPointArray = new ImageView[viewList.size()];
//循环新建底部圆点ImageView,将生成的ImageView保存到数组中
int size = viewList.size();
for (int i = 0; i < size; i++) {
ImageView iv_point = new ImageView(this);
iv_point.setLayoutParams(new ViewGroup.LayoutParams(70, 18));
ivPointArray[i] = iv_point;
//第一个页面需要设置为选中状态,这里采用两张不同的图片
if (i == 0) {
iv_point.setBackgroundResource(R.drawable.shape_guide_point_rectangle_choose);
} else {
iv_point.setBackgroundResource(R.drawable.shape_guide_point_rectangle_un_choose);
}
//将数组中的ImageView加入到ViewGroup
inll.addView(ivPointArray[i]);
}
}