引导页模板

import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.EdgeEffectCompat;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import com.yyekt.activitys.ArtExamGuideActivity;
import com.yyekt.activitys.WebViewActivity;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;


public class WelcomeActivity extends FragmentActivity implements View.OnClickListener{

    private ViewPager viewPager_welcome_activity;
    private Button button_welcome_activity;
    private List<View> list;
    private PagerAdapter adapter;
    private int[] imgIds = new int[]{R.mipmap.welcome1,R.mipmap.welcome2,
            R.mipmap.welcome3,R.mipmap.welcome4};
    private Intent intent;
    private EdgeEffectCompat leftEdge;
    private EdgeEffectCompat rightEdge;
//    private Button questionnaire_WelcomeActivity;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.welcome_activity);
        //设置全屏
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        //sharedPreferences赋值,使其不会再进入引导页
        SharedPreferences sp = getSharedPreferences(Constants.SP_NAME, MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        editor.putInt(Constants.SP_KEY_WELCOME_SHOW_VER, BuildConfig.VERSION_CODE);
        editor.apply();

        initView();
        initDate();
        initCtrl();
        viewPager_welcome_activity.setAdapter(adapter);
        viewPager_welcome_activity.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, 
                                       int positionOffsetPixels) {
                //到了最后一张并且还继续拖动,出现蓝色限制边条了
                if(rightEdge!=null&&!rightEdge.isFinished()){
                    startActivity(new Intent(WelcomeActivity.this, MainActivity.class));
                    WelcomeActivity.this.finish();
                }
            }

            @Override
            public void onPageSelected(int position) {

//                if(position == imgIds.length-1){
//                    questionnaire_WelcomeActivity.setVisibility(View.VISIBLE);
//                }else{
//                    questionnaire_WelcomeActivity.setVisibility(View.GONE);
//                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });

    }

    //初始化适配器
    private void initCtrl() {
        adapter = new PagerAdapter() {
            @Override
            public boolean isViewFromObject(View view, Object object) {
                return view == object;
            }

            @Override
            public int getCount() {

                return list.size();
            }

            @Override
            public Object instantiateItem(ViewGroup container, int position) {
                container.addView(list.get(position));
                return list.get(position);

            }

            @Override
            public void destroyItem(ViewGroup container, int position,
                                    Object object) {
                container.removeView(list.get(position));
            }
        };
    }

    //初始化数据
    private void initDate() {
        list = new ArrayList<View>();
        for (int i = 0; i < imgIds.length; i++) {
            ImageView imgView = new ImageView(this);
            imgView.setImageResource(imgIds[i]);
            imgView.setScaleType(ImageView.ScaleType.FIT_XY);
            list.add(imgView);
        }
        intent = new Intent(this, MainActivity.class);
    }

    //初始化控件
    private void initView() {
//        questionnaire_WelcomeActivity = (Button) findViewById(R.id.questionnaire_WelcomeActivity);
//        questionnaire_WelcomeActivity.setOnClickListener(this);
        viewPager_welcome_activity = (ViewPager) findViewById(R.id.viewPager_welcome_activity);
        button_welcome_activity = (Button) findViewById(R.id.button_welcome_activity);
        button_welcome_activity.setOnClickListener(this);
        try {
            Field leftEdgeField = viewPager_welcome_activity.getClass().getDeclaredField("mLeftEdge");
            Field rightEdgeField = viewPager_welcome_activity.getClass().getDeclaredField("mRightEdge");
            if (leftEdgeField != null && rightEdgeField != null) {
                leftEdgeField.setAccessible(true);
                rightEdgeField.setAccessible(true);
                leftEdge = (EdgeEffectCompat) leftEdgeField.get(viewPager_welcome_activity);
                rightEdge = (EdgeEffectCompat) rightEdgeField.get(viewPager_welcome_activity);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()){
//            case R.id.questionnaire_WelcomeActivity:
//                Intent intent1 = new Intent(this, WebViewActivity.class);
//                intent1.putExtra("from", "artExamGuide");
//                startActivity(intent);
//                startActivity(intent1);
//                finish();
//                break;
            case R.id.button_welcome_activity:
                startActivity(intent);
                finish();
                break;
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值