android首頁Splash頁面簡單實現

/**
 * 啓動界面
 */
public class SplashActivity extends BaseActivity {
   RelativeLayout view;
   public static IWXAPI WX_api;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      view = (RelativeLayout) View.inflate(this, R.layout.layout_splash, null);
      setContentView(view);
      try {
         new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
               checkUpdate();
               init();
            }
         }, 2000);
      } catch (Exception e) {

      }
     
   }

   private void init() {
	//可以在這裏初始化一些東西

   }

   /**
    * 檢查更新
    */
   private void checkUpdate() {
      new UpdateManager(this).checkUpdate(new UpdateCallBack() {
         @Override
         public void checkUpdateComplete(boolean update) {
            if (!update)
               jumpOrShowGuidance();
         }

         @Override
         public void cancel() {
            jumpOrShowGuidance();
         }
         
         @Override
         public void close() {
            finish();
         }
      });
   }

   /**
    * 跳轉還是顯示引導界面   主要是這個方法
    */
   private void jumpOrShowGuidance() {
	//取出之前存儲的應用版本號,默認是0
      int guiVersion = PreferenceUitl.getInstance(mContext).getInt(PreferenceColums.hadShowGuidance, 0);	//獲取當前應用版本號
      int versionCode = Integer.parseInt(YktApplication.get().versionCode);
	//對比當前應用版本號和之前存儲的版本號
      if (versionCode > guiVersion) {
         // 只有當前應用版本大於保存的引導展示版本,就顯示引導頁面
         PreferenceUitl.getInstance(mContext).saveInt(PreferenceColums.hadShowGuidance, versionCode);
         GuidanceView guidanceView = new GuidanceView(mContext);
         view.addView(guidanceView);
      } else {
         ActivityMain.start(mContext);
         finish();
      }
   }
}

/**  
GuidanceView 的代碼
*/
/**
 * 引導頁面

 */
public class GuidanceView extends RelativeLayout {

   private ViewPager vp_guidance;

   private List<View> viewList;

   public GuidanceView(Context context) {
      super(context);
      initGuidanceView();
      init();
   }

   private void init() {
      vp_guidance = new ViewPager(getContext());
      vp_guidance.setAdapter(pagerAdapter);
      addView(vp_guidance);
   }

   /**
    * 初始化引導的UI
    */
   private void initGuidanceView() {
      viewList = new ArrayList<View>();
      LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);

      ImageView iv_01 = new ImageView(getContext());
      iv_01.setBackgroundResource(R.drawable.guide1);
      iv_01.setLayoutParams(params);

      ImageView iv_02 = new ImageView(getContext());
      iv_02.setBackgroundResource(R.drawable.guide2);
      iv_02.setLayoutParams(params);

      ImageView iv_03 = new ImageView(getContext());
      iv_03.setBackgroundResource(R.drawable.guide3);
      iv_03.setLayoutParams(params);

      View view_04 = LayoutInflater.from(getContext()).inflate(R.layout.custom_guidance, null);
      view_04.findViewById(R.id.view_guidance_btn_enter).setOnClickListener(onClickListener);

      viewList.add(iv_01);
      viewList.add(iv_02);
      viewList.add(iv_03);
      viewList.add(view_04);

   }

   private OnClickListener onClickListener = new OnClickListener() {

      @Override
      public void onClick(View v) {
         // //第四個引導頁面,點擊進入跳轉至首頁
         ActivityMain.start((Activity) getContext());
         ((Activity) getContext()).finish();
      }
   };

   /**
    * 引導頁面的數據適配器
    */
   private PagerAdapter pagerAdapter = new PagerAdapter() {

      @Override
      public boolean isViewFromObject(View arg0, Object arg1) {

         return arg0 == arg1;
      }

      @Override
      public int getCount() {

         return viewList.size();
      }

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

      }

      @Override
      public int getItemPosition(Object object) {

         return super.getItemPosition(object);
      }

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

   };
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章