加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Android开发入门教程:Splash的达成

发布时间:2021-12-14 21:34:09 所属栏目:PHP教程 来源:互联网
导读:什么是Splash Splash也就是应用程序启动之前先启动一个画面,上面简单的介绍应用程序的厂商,厂商的LOGO,名称和版本等信息,多为一张图片,显示几秒钟后会自动消息,然后显示出应用程序的主体页面。在PC上,很常见各种平台的应用程序都会有,多半是一张图片

什么是Splash
 
Splash也就是应用程序启动之前先启动一个画面,上面简单的介绍应用程序的厂商,厂商的LOGO,名称和版本等信息,多为一张图片,显示几秒钟后会自动消息,然后显示出应用程序的主体页面。在PC上,很常见各种平台的应用程序都会有,多半是一张图片显示在屏幕中央,如Microsoft Office系列,或者GIMP等。在各种游戏中Splash是最常见的,几乎所有的游戏开始都会有一张全屏的图片,上面通常都显示厂商的LOGO,游戏的名称等。在手机平板等移动设备上,类似PC的Splash很少,起码对于Android和iOS来讲原生的应用程序都没有这种Splash,但是不知从何时起,这种Splash开始在第三方应用中流行起来,几乎所有的第三方应用程序都有启动Splash。这些Splash的特点是占满整个屏幕,上面LOGO,厂商的名字,应用的名字版本等,大约3到5秒后,Splash自动消失,应用主页面显示出来。很多应用在Splash页面也显示加载过程。
 
下面谈谈在Android中如何实现Splash以及它的优缺点:
 
使用Activity作为Splash
 
这可能也是最常用的方式,方法就是用一个Activity,给它设置一个背景,或者要显示的信息(厂商,LOGO,名字和版本),让它显示几秒种,然后finish()掉,并启动应用主体Activity。
 
<activity android:name=".SplashActivity"  
          android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  
          android:noHistory="true"  
          android:configChanges="orientation|keyboardHidden"  
          android:label="@string/app_name">  
    <intent-filter>  
        <action android:name="android.intent.action.MAIN" />  
        <category android:name="android.intent.category.LAUNCHER" />  
    </intent-filter>  
</activity>
 
 
public class SplashActivity extends Activity {  
    private Handler mMainHandler = new Handler() {  
    @Override  
    public void handleMessage(Message msg) {  
        Intent intent = new Intent(Intent.ACTION_MAIN);  
        intent.setClass(getApplication(), NotTomorrowActivity.class);  
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
        startActivity(intent);  
        // overridePendingTransition must be called AFTER finish() or startActivity, or it won't work.   
        overridePendingTransition(R.anim.activity_in, R.anim.splash_out);  
    }  
    };  
      
    @Override  
    public void onCreate(Bundle icicle) {  
    super.onCreate(icicle);  
    getWindow().setBackgroundDrawableResource(R.drawable.kg);  
    mMainHandler.sendEmptyMessageDelayed(0, 5000);  
    }  
      
    // much easier to handle key events   
    @Override  
    public void onBackPressed() {  
    }  
}  

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读