<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>
android启动界面和引导界面的动画
最新推荐文章于 2022-11-12 16:24:45 发布