Android启动页+引导页

来源:互联网 发布:java交换函数 编辑:程序博客网 时间:2024/05/10 06:19

启动页代码如下:

package com.example.sportsii.tixinwangapp.activity;import android.content.Context;import android.content.Intent;import android.graphics.Color;import android.os.Build;import android.os.Handler;import android.os.Message;import android.view.View;import com.example.sportsii.tixinwangapp.R;import com.example.sportsii.tixinwangapp.base.activity.BaseActivity;import com.example.sportsii.tixinwangapp.utils.SharedPrefUtil;import com.example.sportsii.tixinwangapp.utils.StatusBarCompat;public class SplashActivity extends BaseActivity {    private Context mContext = null;    private Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            switch (msg.what) {                case 1:                    Jump(mContext, MainActivity.class);                    finish();                    break;            }        }    };    @Override    public void onClick(View v) {    }    @Override    public void setContentView() {        setContentView(R.layout.activity_splash);    }    @Override    public void initViews() {    }    @Override    public void initDatas() {        mContext = SplashActivity.this;        StatusBarCompat.compat(this, R.color.transparent);//        initStatusBar();        // 判断是否是第一次开启应用        boolean isFirstOpen = SharedPrefUtil.getIsFristOpen(this);        // 如果不是第一次启动app,则正常显示启动屏        // 如果是第一次启动,则先进入功能引导页        if (isFirstOpen) {            Intent intent = new Intent(this, WelcomeGuideActivity.class);            startActivity(intent);            finish();            return;        }        handler.sendEmptyMessageDelayed(1, 2000);    }    @Override    public void setDatas() {    }    @Override    public void setListener() {    }    @Override    public void ResumeDatas() {    }}
引导页代码如下:

package com.example.sportsii.tixinwangapp.activity;import android.content.Context;import android.os.Handler;import android.os.Message;import android.support.v4.view.ViewPager;import android.view.View;import android.widget.ImageView;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.TextView;import com.bumptech.glide.Glide;import com.example.sportsii.tixinwangapp.R;import com.example.sportsii.tixinwangapp.adapter.ViewPagerAdapter;import com.example.sportsii.tixinwangapp.base.activity.BaseActivity;import com.example.sportsii.tixinwangapp.utils.SharedPrefUtils;import com.example.sportsii.tixinwangapp.utils.StatusBarCompat;import java.util.ArrayList;import java.util.List;public class WelcomeGuideActivity extends BaseActivity implements ViewPager.OnPageChangeListener {    private Context mContext = null;    private ViewPager viewPager;    private ViewPagerAdapter viewPagerAdapter;    private List<View> views = new ArrayList<>();    private TextView tvStart;    private RadioGroup radioGroup;    private List<String> imageData = new ArrayList<>();    private int image[] = {R.mipmap.image_guide1, R.mipmap.image_guide2, R.mipmap.image_guide3};    private Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            switch (msg.what) {                case 1://                    tvStart.setVisibility(View.VISIBLE);                    Jump(mContext, MainActivity.class);//                    SharedPrefUtils.setFristOpen(mContext, false);                    finish();                    break;                case 2:                    tvStart.setVisibility(View.INVISIBLE);                    break;            }        }    };    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.tvStart:                Jump(mContext, MainActivity.class);                SharedPrefUtils.setFristOpen(mContext, false);                finish();                break;        }    }    @Override    public void setContentView() {        setContentView(R.layout.activity_welcome_guide);    }    @Override    public void initViews() {        viewPager = A(R.id.viewpager);        tvStart = A(R.id.tvStart);        radioGroup = A(R.id.advertise_point_group);    }    @Override    public void initDatas() {        mContext = WelcomeGuideActivity.this;        StatusBarCompat.compat(this, R.color.transparent);//        initStatusBar();        imgListString();    }    private void imgListString() {//        imageData.add("http://d.hiphotos.baidu.com/image/h%3D200/sign=72b32dc4b719ebc4df787199b227cf79/58ee3d6d55fbb2fb48944ab34b4a20a44723dcd7.jpg");        imageData.add("http://pic.4j4j.cn/upload/pic/20130815/31e652fe2d.jpg");        imageData.add("http://pic.4j4j.cn/upload/pic/20130815/5e604404fe.jpg");        imageData.add("http://pic.4j4j.cn/upload/pic/20130909/681ebf9d64.jpg");//        imageData.add("http://d.hiphotos.baidu.com/image/pic/item/54fbb2fb43166d22dc28839a442309f79052d265.jpg");    }    @Override    public void setDatas() {        for (int i = 0; i < image.length; i++) {            View view = null;            ImageView imageView = new ImageView(this);//            ImageLoadUtils.LoadImage(imageData.get(i), imageView, 0);            Glide.with(mContext).load(image[i]).centerCrop().into(imageView);            view = imageView;            views.add(view);        }        viewPagerAdapter = new ViewPagerAdapter(views, mContext);        viewPager.setAdapter(viewPagerAdapter);    }    @Override    public void setListener() {        tvStart.setOnClickListener(this);        viewPager.setOnPageChangeListener(this);    }    @Override    public void ResumeDatas() {    }    @Override    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {    }    @Override    public void onPageSelected(int position) {//        RadioGroup中添加了几个RadioButton后,这些RadioButton应该只能选一个,//        但是如果不为每个buttonid,这些button就失去了单选效果。        ((RadioButton) radioGroup.getChildAt(position)).setChecked(true);//setSelect()无效        if (position == image.length - 1) {//            handler.sendEmptyMessage(1);//            handler.sendEmptyMessageDelayed(1, 2000);            views.get(image.length - 1).setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    Jump(mContext, MainActivity.class);//                    SharedPrefUtils.setFristOpen(mContext, false);                    finish();                }            });        } else {//            handler.sendEmptyMessage(2);        }    }    @Override    public void onPageScrollStateChanged(int state) {    }}
ViewPager适配器代码:

package com.example.sportsii.tixinwangapp.adapter;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import java.util.List;/** * Created by sportsii on 2017/4/26. */public class ViewPagerAdapter extends PagerAdapter {    private List<View> views;    private Context context;    public ViewPagerAdapter(List<View> views, Context context) {        this.views = views;        this.context = context;    }    @Override    public int getCount() {        return views.size();    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view == object;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {        container.removeView(views.get(position));    }    @Override    public Object instantiateItem(ViewGroup container, int position) {        container.addView(views.get(position));        return views.get(position);    }}


其他资料:http://blog.csdn.net/wwj_748/article/details/50571515

            http://www.jianshu.com/p/74f9765c2041


0 1