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; } } }
引导页模板
最新推荐文章于 2024-08-22 05:28:23 发布