2010-02-18 108 views
6

我有一个程序,显示一个启动画面。但问题是每当我再次刷新同一页面它出现。是否有任何方法来停止启动画面一遍又一遍。我想它只是在第一时间一次又一次。 谢谢安卓启动画面

回答

3

所以你基本上想要启动屏幕出现一次每个应用程序启动。 这里有一个快速和肮脏的方式:

  1. 子类android.app.Application端口,比如,MyApp;
  2. AndroidManifest.xml<application android:name=".MyApp" ... >)中声明该类,以便在应用程序启动时实例化该类;
  3. 给它一个public static boolean SPLASH_SHOWN = false;
  4. 现在,在您的ActivityonCreate()检查,如果SPLASH_SHOWN = false,显示启动并将其设置为true
+2

if(SPLASH_SHOWN == false) \t splash =(ImageView)findViewById(R.id.splashscreen); \t splash.setBackgroundResource(R.drawable.splash); \t消息msg = new Message(); \t msg.what = STOPSPLASH; \t splashHandler.sendMessageDelayed(msg,SPLASHTIME); \t splash.setVisibility(View.VISIBLE); \t SPLASH_SHOWN = true; } – BIBEKRBARAL 2010-02-18 12:05:47

0

如果在与另一个视图布局(主布局)相同的活动中实现启动画面 - 例如,首先显示启动画面,然后将视图切换到主布局 - 我建议控制内容视图设置在onResume()。 使用布尔变量(displayedSplash)来记住启动画面是否已显示。如果尚未显示(首次启动活动,显示闪现= false),则将视图设置为闪屏,然后切换到主布局并设置displayedSplash = true。如果已经显示(刷新页面,显示的是splash == true),只需将视图设置为主布局。

简单启动画面的另一个简单安全的解决方案是将其作为一项活动实施,然后开始主要活动。当第二次调用onResume()时,请完成该活动。细节请参考this Wiki

0

大多数情况下,我会在splash活动中的onPause()方法内调用finish()方法。这对我来说很好用