几乎每个app都有引导页,下面我们来做一个引导页的实现。
引导页,是指软件首次进入或者更新完成后,软件显示的页面,一般展示软件特色功能或者更新的内容。
先判断是否第一次启动app,如果是,则进入引导页(左右滑动切换查看,滑动到最后一页点击按钮进入首页)。
如果不是,则直接进入首页
下面我们用代码来实现这个功能:
1、打开Android Studio,新建一个项目StartApp,新建一个空activity,命名为StartActivity
StartActivity.java代码如下。
public class StartActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
initView();
}
private void initView() {
SharedPreferences sp=getSharedPreferences("name",MODE_PRIVATE);
boolean is=sp.getBoolean("ok",true);
//判断是否为第一次打开软件
if (is){
SharedPreferences.Editor editor=sp.edit();
editor.putBoolean("ok",false);
editor.apply();
//跳转到引导页
startActivity(new Intent(StartActivity.this,IntroductoryActivity.class));
finish();
}else {
//直接进入首页
startActivity(new Intent(StartActivity.this,MainActivity.class));
finish();
}
}
}
IntroductoryActivity会报红,不用担心,是因为目前还没有新建该activity,第三步新建好,这里就不会报红了。
2、在AndroidManifest.xml文件中,将启动页面设置为.StartActivity。就是把<intent-filter>里面的代码放在StartActivity下面。如图所示:
3、新建一个activity页面,命名为IntroducttoryActivity
在IntroducttoryActivity.xml中代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".IntroductoryActivity">
<androidx.viewpager.widget.ViewPager
android:id="@+id/introductory_viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
4、新建4个引导页。这里就不需要新建空Activity了,按照下面图片的步骤新建。
新建下面4个xml文件
每个xml文件,只需要添加下面一行代码,该行代码是为该页面添加背景图片,每个xml文件的图片不同。(将图片放在drawable文件夹下面,这里就可以调用)。具体代码如下:
introductory_a.xml
introductory_b.xml
introductory_c.xml
introductory_d.xml
5、新建一个类,命名为IntroductoryAdapter.java,用作适配器,并继承PagerAdapter。
代码如下:
public class IntroductoryAdapter extends PagerAdapter {
private List<View>list;
public IntroductoryAdapter(List<View> list) {
this.list = list;
}
@Override
public int getCount() {
return list.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=list.get(position);
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(list.get(position));
}
}
6、接下来回到IntroductoryActivity.java页面,添加适配器,初始化viewPager和4个引导页,并设置第4个引导页的Button按钮的点击事件。代码如下:
public class IntroductoryActivity extends AppCompatActivity {
private ViewPager mViewPage;
private Button mButton;
private List<View> viewList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//隐藏标题栏
getSupportActionBar().hide();
setContentView(R.layout.activity_introductory);
initView();
initAdapter();
initStart();
}
/**
* 设置第4个引导页的textView文本的点击事件
*/
private void initStart() {
mButton=viewList.get(3).findViewById(R.id.btn_open);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(IntroductoryActivity.this,MainActivity.class));
IntroductoryActivity.this.finish();
}
});
}
/**
* 适配器
*/
private void initAdapter() {
IntroductoryAdapter adapter=new IntroductoryAdapter(viewList);
mViewPage.setAdapter(adapter);
}
/**
* viewPager和4个引导
*/
private void initView() {
mViewPage=findViewById(R.id.introductory_viewPager);
viewList=new ArrayList<>();
viewList.add(getView(R.layout.introductory_a));
viewList.add(getView(R.layout.introductory_b));
viewList.add(getView(R.layout.introductory_c));
viewList.add(getView(R.layout.introductory_d));
}
private View getView(int resId) {
return LayoutInflater.from(this).inflate(resId,null);
}
}
7、实现效果:
在app安装后第一次进入的时候,会进入引导页。
到这里,你已经实现了引导页的基本功能,接下来可以根据需要,去为引导页添加背景图片和布局等等。加油!
源码文件:
链接: https://pan.baidu.com/s/1WdYh2YqNbWjlk30ScuF9Yg 提取码: yphc 复制这段内容后打开百度网盘手机App,操作更方便哦文章来源:https://www.toymoban.com/news/detail-478905.html
有什么不懂的地方,欢迎评论区讨论。文章来源地址https://www.toymoban.com/news/detail-478905.html
到了这里,关于Android开发--实现Android引导页的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!