您的位置:首页 > 移动开发 > Android开发

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

2015-12-30 21:18 519 查看
<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>
4000
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: