android启动界面和引导界面的动画

<code class="hljs java has-numbering"><span class="hljs-keyword">package</span> com.liuyongxiang.welcome;
有很多应用开启应用时都会有2到3秒的启动界面的动画,当一次安装应用时还要具备有引导的功能的动画
<span class="hljs-keyword">import</span> android.annotation.SuppressLint;
<span class="hljs-keyword">import</span> android.app.Activity;
<span class="hljs-keyword">import</span> android.content.Intent;
<span class="hljs-keyword">import</span> android.content.SharedPreferences;
<span class="hljs-keyword">import</span> android.content.SharedPreferences.Editor;
<span class="hljs-keyword">import</span> android.os.Bundle;
<span class="hljs-keyword">import</span> android.os.Handler;
<span class="hljs-keyword">import</span> android.os.Message;
<span class="hljs-keyword">import</span> android.text.TextUtils;


<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">SplashAty</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Activity</span> {</span>
    <span class="hljs-keyword">boolean</span> First = <span class="hljs-keyword">false</span>;
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> <span class="hljs-keyword">int</span> GO_HOME = <span class="hljs-number">1000</span>;
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> <span class="hljs-keyword">int</span> GO_GUIDE = <span class="hljs-number">1001</span>;
    <span class="hljs-comment">// 延迟3秒</span>
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> <span class="hljs-keyword">long</span> SPLASH_DELAY_MILLIS = <span class="hljs-number">3000</span>;

    <span class="hljs-javadoc">/**
     * Handler:跳转到不同界面
     */</span>
    <span class="hljs-annotation">@SuppressLint</span>(<span class="hljs-string">"HandlerLeak"</span>)
    <span class="hljs-keyword">private</span> Handler mHandler = <span class="hljs-keyword">new</span> Handler() {

        <span class="hljs-annotation">@Override</span>
        <span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">handleMessage</span>(Message msg) {
            <span class="hljs-keyword">switch</span> (msg.what) {
            <span class="hljs-keyword">case</span> GO_HOME:
                goHome();
                <span class="hljs-keyword">break</span>;
            <span class="hljs-keyword">case</span> GO_GUIDE:
                goGuide();
                <span class="hljs-keyword">break</span>;
            }
            <span class="hljs-keyword">super</span>.handleMessage(msg);
        }
    };

    <span class="hljs-annotation">@Override</span>
    <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onCreate</span>(Bundle savedInstanceState) {
        <span class="hljs-keyword">super</span>.onCreate(savedInstanceState);
        setContentView(R.layout.entrance);
        init();
    }

    <span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title">init</span>() {

        <span class="hljs-comment">// 取得相应的值,如果没有该值,说明还未写入,用true作为默认值</span>
        <span class="hljs-comment">// 判断程序第几次运行,如果是第一次运行则跳转到引导界面,否则跳转到主界面</span>
        SharedPreferences share = getSharedPreferences(<span class="hljs-string">"First"</span>, MODE_PRIVATE);
        String s = share.getString(<span class="hljs-string">"FirstEntrance"</span>, <span class="hljs-keyword">null</span>);
        <span class="hljs-keyword">if</span> (First || !TextUtils.isEmpty(s)) {
            <span class="hljs-comment">// 使用Handler的postDelayed方法,2秒后执行跳转到主activity</span>
            mHandler.sendEmptyMessageDelayed(GO_HOME, SPLASH_DELAY_MILLIS);

        } <span class="hljs-keyword">else</span> {
            mHandler.sendEmptyMessageDelayed(GO_GUIDE, SPLASH_DELAY_MILLIS);
        }

    }

    <span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title">goHome</span>() {
        Intent intent = <span class="hljs-keyword">new</span> Intent(SplashAty.<span class="hljs-keyword">this</span>, MainActivity.class);
        SplashAty.<span class="hljs-keyword">this</span>.startActivity(intent);
        SplashAty.<span class="hljs-keyword">this</span>.finish();
    }

    <span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title">goGuide</span>() {
        Intent intent = <span class="hljs-keyword">new</span> Intent(SplashAty.<span class="hljs-keyword">this</span>, WelcomeAty.class);
        SplashAty.<span class="hljs-keyword">this</span>.startActivity(intent);
        SharedPreferences sharedPreference = getSharedPreferences(<span class="hljs-string">"First"</span>,
                MODE_PRIVATE);
        Editor editor = sharedPreference.edit();
        editor.putString(<span class="hljs-string">"FirstEntrance"</span>, <span class="hljs-string">"FirstEtrance"</span>);
        editor.commit();
        SplashAty.<span class="hljs-keyword">this</span>.finish();
    }
}</code>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值