android手机上的很多应用程序启动时都会先显示一个图片,作为该应用程序的开始,该图片转瞬即逝。这个图片一般都会用应用的图标,作为广告来用。 ![]() 它的实现方式很简单,我们已开源中国软件为例,介绍它的实现。 这个图片其实用的是一个Activity,对于开源中国应用程序来说是AppStart这个Activity类。 上这个类的源码: - /**
- * 应用程序启动类:显示欢迎界面并跳转到主界面
- * <a href="http://my.oschina.net/arthor" target="_blank" rel="nofollow">@author</a> liux (http://my.oschina.net/liux)
- * @version 1.0
- * @created 2012-3-21
- */
- public class AppStart extends Activity {
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- final View view = View.inflate(this, R.layout.start, null);
- setContentView(view);
-
- //渐变展示启动屏
- AlphaAnimation aa = new AlphaAnimation(0.3f,1.0f);
- aa.setDuration(2000);
- view.startAnimation(aa);
- aa.setAnimationListener(new AnimationListener()
- {
- @Override
- public void onAnimationEnd(Animation arg0) {
- redirectTo();
- }
- @Override
- public void onAnimationRepeat(Animation animation) {}
- @Override
- public void onAnimationStart(Animation animation) {}
-
- });
-
- //兼容低版本cookie(1.5版本以下,包括1.5.0,1.5.1)
- AppContext appContext = (AppContext)getApplication();
- String cookie = appContext.getProperty("cookie");
- if(StringUtils.isEmpty(cookie)) {
- String cookie_name = appContext.getProperty("cookie_name");
- String cookie_value = appContext.getProperty("cookie_value");
- if(!StringUtils.isEmpty(cookie_name) && !StringUtils.isEmpty(cookie_value)) {
- cookie = cookie_name + "=" + cookie_value;
- appContext.setProperty("cookie", cookie);
- appContext.removeProperty("cookie_domain","cookie_name","cookie_value","cookie_version","cookie_path");
- }
- }
- }
-
- /**
- * 跳转到...
- */
- private void redirectTo(){
- Intent intent = new Intent(this, Main.class);
- startActivity(intent);
- finish();
- }
复制代码
这个Activity启动后,会通过动画的形式跳转到真正的应用程序主页面,也就是Main这个Activity类。
|