zoukankan      html  css  js  c++  java
  • 启动页和引导页 小例子

    效果图:

    启动页:

    package com.bfec.educationplatform.models.navigation.ui.activity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import com.bfec.BaseFramework.libraries.common.util.storage.SharedPrefUtil;
    import com.bfec.educationplatform.R;
    
    import java.lang.ref.WeakReference;
    
    /**
     * 启动页
     */
    public class StartPageAty extends Activity {
        private static final int WHAT_HOME = 1000;
        private static final int WHAT_GUIDE = 1001;
        private static final int DELAY_TIME = 2000;
        private StartPageHandler handler = new StartPageHandler(this);
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.start_page);
            // Init
            final String KEY_IS_FIRST = "isFirst";
            SharedPrefUtil spUtil = SharedPrefUtil.getInstance(this, "config", MODE_PRIVATE);
            if (spUtil.getBool(KEY_IS_FIRST, true)) {
                handler.sendEmptyMessageDelayed(WHAT_GUIDE, DELAY_TIME);
                spUtil.putBool(KEY_IS_FIRST, false).commit();
            } else
                handler.sendEmptyMessageDelayed(WHAT_HOME, DELAY_TIME);
        }
    
        private void goDestination(Class cls) {
            startActivity(new Intent(this, cls));
            finish();
        }
    
        private static class StartPageHandler extends Handler {
            private WeakReference<StartPageAty> mAty;
    
            public StartPageHandler(StartPageAty aty) {
                mAty = new WeakReference<>(aty);
            }
    
            @Override
            public void handleMessage(Message msg) {
                StartPageAty aty = mAty.get();
                if (aty == null)
                    return;
                switch (msg.what) {
                    case WHAT_GUIDE:   // 引导页
                        aty.goDestination(GuideAty.class);
                        break;
                    case WHAT_HOME:   // 首页
                        aty.goDestination(HomePageAty.class);
                }
            }
        }
    }

    引导页:

     

    package com.bfec.educationplatform.models.navigation.ui.activity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v4.view.ViewPager;
    import android.support.v4.view.ViewPager.OnPageChangeListener;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.ImageView.ScaleType;
    import android.widget.LinearLayout;
    import com.bfec.educationplatform.R;
    import com.bfec.educationplatform.models.navigation.ui.adapter.ViewPagerAdapter;
    
    import java.util.ArrayList;
    
    /**
     * 引导页
     */
    public class GuideAty extends Activity {
        // 图片资源ID
        private static final int[] IMG_ID = {R.drawable.u1_state0, R.drawable.u1_state1, R.drawable.u1_state2};
        // ViewPager
        private ViewPager viewPager;
        private ArrayList<View> views = new ArrayList<>();
        // 开始按钮
        private Button btnStart;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.start_guide);
            // ViewPager
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(-1, -1);
            for (int id : IMG_ID) {
                ImageView imgView = new ImageView(this);
                imgView.setLayoutParams(params);
                imgView.setScaleType(ScaleType.FIT_XY);
                imgView.setImageResource(id);
                views.add(imgView);
            }
            ViewPagerAdapter vpAdapter = new ViewPagerAdapter(views);
            viewPager = (ViewPager) findViewById(R.id.viewpager);
            viewPager.setAdapter(vpAdapter);
            viewPager.setOnPageChangeListener(new OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                }
    
                @Override
                public void onPageSelected(int position) {
                    setCurPage(position);
                    if (position == IMG_ID.length - 1)
                        btnStart.setVisibility(View.VISIBLE);
                    else
                        btnStart.setVisibility(View.GONE);
                }
    
                @Override
                public void onPageScrollStateChanged(int state) {
                }
            });
            // 开始按钮
            btnStart = (Button) findViewById(R.id.startbtn);
            btnStart.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    startActivity(new Intent(GuideAty.this, HomePageAty.class));
                    finish();
                }
            });
        }
    
        private void setCurPage(int position) {
            viewPager.setCurrentItem(position);
        }
    }
    

      

  • 相关阅读:
    eclipse中文乱码问题解决方案
    修改Tomcat的JDK目录
    Tomcat 5.5 修改服务器的侦听端口
    HTML DOM教程 27HTML DOM Button 对象
    HTML DOM教程 24HTML DOM Frameset 对象
    Navicat for MySQL v8.0.27 的注册码
    HTML DOM教程 25HTML DOM IFrame 对象
    Tomcat 5.5 的下载和安装
    android manifest相关属性
    ubuntu10.04 下 eclipse 小结
  • 原文地址:https://www.cnblogs.com/niuxx-android/p/5420739.html
Copyright © 2011-2022 走看看