我们在第一次使用一个app的时候或多或少都会有引导页的存在,在这个帖子中我已经整理好了相关的类容
下面是部分截图
先创建一个空的activity叫StartActivity里面的代码为
public class StartActivity extends AppCompatActivity {
private ViewPager startViewpager;
public List introductionList;
private IntroductionAdapter introductionAdapter;
private Button cButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
initView();
initAdapter();
initClick();
}
private void initView() {
startViewpager = findViewById(R.id.start_viewpager);
introductionList = new ArrayList<>();
introductionList.add(getView(R.layout.introduction_a));
introductionList.add(getView(R.layout.introduction_b));
introductionList.add(getView(R.layout.introduction_c));
}
private void initAdapter() {
introductionAdapter = new IntroductionAdapter(introductionList);
startViewpager.setAdapter(introductionAdapter);
}
private View getView(int resId) {
View view = LayoutInflater.from(this).inflate(resId, null);
return view;
}
private void initClick() {
cButton=introductionList.get(2).findViewById(R.id.c_button);
cButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(StartActivity.this, "测试点击", Toast.LENGTH_SHORT).show();
}
});
}
}
创建适配器 IntroductionAdapter 并且继承PagerAdapter
public class IntroductionAdapter extends PagerAdapter {
private ListpageList;
public IntroductionAdapter(Listlist){
this.pageList=list;
}
@Override
public int getCount() {
return pageList.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view==object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
View view=pageList.get(position);
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(pageList.get(position));
}
}
在androidmainfest文件中修改首页启动
在activity_start.xml中添加布局
创建三个引导页 introduction_a
introduction_b
introduction_c
编译安装即可
工程目录截图
gitee 地址:



