给使用phonegap的Android程序加上splash screen(启动图片 预览图))

用phonegap的同学可能会发现,在app被启动起来之前会有一段时间的空白界面。空白界面出现是因为web view里面的东西还没有被载入。这时如果能加入splash screen,用户体验会好很多。
用splash andriod phonegap 这样的关键词能搜到很多解决这个问题的文章。比如说 http://blog.assortedgarbage.com/2011/02/adding-a-splash-screen-for-android-using-phonegap/
但是经过试验,我发现那些文章提到的方法都不好用。。。splash screen确实会出现,但是它出现以后界面会黑一下,然后才是web页面。无论
  1. super.loadUrl(“file:///android/www/index.html”, 1000)
复制代码

参数里面的delay 时间加到多长。
看过phonegap的代码,
  1. super.setIntegerProperty(“splashscreen”, 
  2. R.drawable.splash)
复制代码

实际上干的事情是 1. 把appview的背景颜色设透明。 2. 把appview的背景设成指定的图片。 然后在web页面被load成功以后,将appview的背景删去。 界面会黑一下的原因我觉得是它删的太早了。
所以加splash screen,并且不黑的最终解决方案:
1. 在activity的onCreate方法中。 loadUrl之前加上
  1. this.appView.setBackgroundColor(0);
  2. this.appView.setBackgroundResource(R.drawable.splashscreen)
复制代码

第一句是把背景色设成透明。 第二句是设置背景为指定的图片(参数即为想要的图片)
2. 在js代码中。当所有的该load的东西全部load成功以后,将要显示web页面之前。把页面背景色设为白色(或其他颜色)
  1. $(‘body’).css(‘background’,'white’);
复制代码

这一句是Jquery代码。看不懂的可以查查Jquery语法。

你可能感兴趣的:(给使用phonegap的Android程序加上splash screen(启动图片 预览图)))