android 第一次进入的引导界面实现方法

最近在写一个基础框架,介绍一下最简单的实现引导界面的功能,引导界面包括三个部分,一个Viewpager,一个个圆点指示器,一个Button,用来进入主界面,也可以不需要按钮,到最后一样再向右划动一下在进入。


在写引导界面的时候我们还需要先在启动界面添加一个判断方法,判断是否是第一次进入软件,这个可以用简单的配置文件就饿能搞定

 private static final String ISFIRSTIN_FILE="firstinfile";
    /*记录的配置值名*/
    private static final String ISFIRSTIN="isFirstIn";
   /*记录是不是第一次进入的配置文件值*/
    private  boolean isFirstIn=true;
    private Context mcontext;
    private SharedPreferences first_index;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splach_main);
        first_index=getSharedPreferences(ISFIRSTIN_FILE,MODE_PRIVATE);
        isFirstIn=first_index.getBoolean(ISFIRSTIN, true);
        mcontext=this;
        new Handler().postDelayed(new Runnable() {
            public void run() {
                /* Create an Intent that will start the Main WordPress Activity. */
                if (isFirstIn) {
                    Intent intent=new Intent(mcontext,Wizard_UI_Avtivity.class);
                    startActivity(intent);
                    first_index.edit().putBoolean(ISFIRSTIN,false).commit();
                   finish();
                }
                else{
                    Intent intent=new Intent(mcontext, MainActivity.class);
                    startActivity(intent);
                    finish();
                }
            }
        }, 1500);
    }
}

第一步,初始化viewpger ,我们可以自定义一个ViewPager,或者默认的也可以,初始化里面包括初始化view的数量和装在资源。代码如下

 /**
     * 初始化引导界面的paper
     */
    private void initeGuidePaper() {
        List<View> list1=new ArrayList<View>();
        LayoutInflater mLayoutflaer=LayoutInflater.from(this);

        for(int index:guide_picture){
              item=mLayoutflaer.inflate(R.layout.page_guide,null);

            item.setBackgroundResource(index);
            list1.add(item);
        }
        Button  btn= (Button) item.findViewById(R.id.wizard_btn_enter);


        btn.setVisibility(View.VISIBLE);
        btn.setOnClickListener(this);
        //ViewPager最重要的设置Adapter,这和ListView一样的原理
        MViewPageAdapter adapter = new MViewPageAdapter(list1);
        mViewPager.setAdapter(adapter);
        mViewPager.setOnPageChangeListener(adapter);
        mViewPager.setCurrentItem(0);

    }

第二步便是初始化圆点指示器了,注意我这个实现的方法是用pager装载了一个布局文件,而不是简单地view,所以要注意findview的对象,别发生为空的错误。实现方法如下:

 /**
     * 初始化引导界面的圆点指示器
     * @param count  圆点数量
     */
    private void initDots(int count){
        for (int j = 0; j < count; j++) {
            dot_guide.addView(initDot());
        }
        dot_guide.getChildAt(0).setSelected(true);
    }
    private View initDot(){
        return LayoutInflater.from(getApplicationContext()).inflate(R.layout.layout_dot, null);
    }

最后就是只要在pager的点击事件里,添加对圆点指示器的处理就行了。

  /**
         * 控制页面华东。当滑动时候。设置圆点指示器的同步滑动
         *
         * @param position
         */
        public void onPageSelected(int position) {

            if (position == 0) {
                mViewPager.setCurrentItem(0);
            } else if (position == mViewList.size()) {
                mViewPager.setCurrentItem(position);
                //startActivity(intent);
            }
            for (int i = 0; i < dot_guide.getChildCount(); i++) {
                if (i == position) {
                    dot_guide.getChildAt(i).setSelected(true);
                } else {
                    dot_guide.getChildAt(i).setSelected(false);
                }
            }
        }

完整源码地址为:http://download.csdn.net/detail/lansus/9179285

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值