引导页界面框架构建

引导页逻辑图


逻辑图前半部分主要步骤

1.     在引导页活动的布局中添加ViewPager控件

2.     在活动中添加个容器List。代码如下

private List<View> mList = new ArrayList<>();

private View view1, view2, view3;

这三个view是三个不同的引导页界面

3.     分别为三个不同view创建布局界面,

4.     初始化View。代码如下

mViewPager =(ViewPager) findViewById(R.id.mViewPager);

        view1 =View.inflate(this, R.layout.pager_item_one, null);

        view2 =View.inflate(this, R.layout.pager_item_two, null);

        view3 =View.inflate(this, R.layout.pager_item_three, null);

mList.add(view1);

        mList.add(view2);

        mList.add(view3);

5.     设置ViewPager的适配器

mViewPager.setAdapter(new GuideAdapter());

class GuideAdapter extends PagerAdapter {

 

        @Override

        public int getCount(){

            returnmList.size();

        }

 

        @Override

        public booleanisViewFromObject(View view, Object object) {

            return view ==object;

        }

        @Override

        public ObjectinstantiateItem(ViewGroup container, int position) {

            ((ViewPager)container).addView(mList.get(position));

            return mList.get(position);

        }

        @Override

        public voiddestroyItem(ViewGroup container, int position, Object object) {

            ((ViewPager)container).removeView(mList.get(position));

           //super.destroyItem(container, position, object);

        }

}

后半部分步骤

1.     添加小圆点(方法)

在引导界面活动布局里添加三个小圆点图片,放入合适的位置,同时在活动中初始化三个小圆点图片控件

主要代码

private ImageView point1, point2, point3;

setPointImg(true, false, false);

//设置小圆点的选中效果

    private voidsetPointImg(boolean isCheck1, boolean isCheck2, boolean isCheck3) {

        if (isCheck1) {

           point1.setBackgroundResource(R.drawable.point_on);

        } else {

           point1.setBackgroundResource(R.drawable.point_off);

        }

        if (isCheck2) {

           point2.setBackgroundResource(R.drawable.point_on);

        } else {

           point2.setBackgroundResource(R.drawable.point_off);

        }

        if (isCheck3) {

           point3.setBackgroundResource(R.drawable.point_on);

        } else {

           point3.setBackgroundResource(R.drawable.point_off);

        }

}

 

2.     设置ViewPage滑动监听

主要代码

//监听ViewPager滑动

       mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){

            @Override

            public voidonPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

 

            }

 

            //pager切换

            @Override

            public voidonPageSelected(int position) {

               L.i("position:" + position);

                switch(position){

                    case 0:

                       setPointImg(true,false,false);

                       iv_back.setVisibility(View.VISIBLE);

                        break;

                    case 1:

                       setPointImg(false,true,false);

                       iv_back.setVisibility(View.VISIBLE);

                        break;

                    case 2:

                       setPointImg(false,false,true);

                       iv_back.setVisibility(View.GONE);

                        break;

                }

            }

@Override

            public void onPageScrollStateChanged(intstate) {

 

            }

        });

}

3.     进入主页。在最后一个界面添加一个按钮控件,使用Intent进去另一个界面即可。

4.     跳过的使用。在活动的布局界面添加一个跳过样式的图片控件,让他在前面的引导页显示,最后的引导页消失。同时点击此图片控件,使用Intent进去另一个界面即可。主要代码如上

private ImageView iv_back;

iv_back= (ImageView) findViewById(R.id.iv_back);



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值