Android开发--实现Android引导页

Android开发--实现Android引导页_第1张图片

几乎每个app都有引导页,下面我们来做一个引导页的实现。

先判断是否第一次启动app,如果是,则进入引导页(左右滑动切换查看,滑动到最后一页点击按钮进入首页)。

如果不是,则直接进入首页

下面我们用代码来实现这个功能:

1、打开Android Studio,新建一个项目StartDemo,新建一个activity页面,命名为StartActivity

StartActivity.java代码如下。

先判断是否第一次启动app,如果是,则进入引导页;如果不是,则直接进入首页。

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));
        }else {
            startActivity(new Intent(StartActivity.this,MainActivity.class));
        }
    }
}

2、在AndroidManifest.xml文件中,将启动页面设置为.StartActivity


        
            

            
        

3、新建一个activity页面,命名为IntroducttoryActivity

在IntroducttoryActivity.xml中添加ViewPager,代码如下:



    

4、新建三个引导页。

Android开发--实现Android引导页_第2张图片

新建下面三个xml文件

 

 代码如下:




    



    





5、新建一个类,命名为IntroductoryAdapter.java,用作适配器,并继承PagerAdapter。

代码如下:

public class IntroductoryAdapter extends PagerAdapter {
    private Listlist;

    public IntroductoryAdapter(List 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和三个引导页,并设置第三个引导页的textView文本的点击事件。代码如下:

public class IntroductoryActivity extends AppCompatActivity {

    private ViewPager mViewPage;
    private TextView mTextView;
    private List viewList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_introductory);
        initView();
        initAdapter();
        initStart();
    }

    /**
     * 设置第三个引导页的textView文本的点击事件
     */
    private void initStart() {
        mTextView=viewList.get(2).findViewById(R.id.tv_start);
        mTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(IntroductoryActivity.this,MainActivity.class));
            }
        });
    }

    /**
     * 适配器
     */
    private void initAdapter() {
        IntroductoryAdapter adapter=new IntroductoryAdapter(viewList);
        mViewPage.setAdapter(adapter);
    }

    /**
     * viewPager和三个引导
     */
    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));

    }

    private View getView(int resId) {
        return LayoutInflater.from(this).inflate(resId,null);
    }
}

7、实现效果:

在app安装后第一次进入的时候,会进入引导页。

Android开发--实现Android引导页_第3张图片          Android开发--实现Android引导页_第4张图片

Android开发--实现Android引导页_第5张图片           Android开发--实现Android引导页_第6张图片

 到这里,你已经实现了引导页的基本功能,接下来可以根据需要,去为引导页添加背景图片和布局等等。加油!

你可能感兴趣的:(android,android,studio,java)