《清宫Q传》iOS版本已经趋于稳定,这几日开始全力攻克android,之前一直没有android的开发经验,这次下定决心要点亮技能树了。

昨天遇到了一个问题:

游戏启动后黑屏 –> 持续4~5秒钟 –> 显示游戏首屏

这显然是不能接受的。

百度了下,有人提供的解决办法是:

  1. 添加splash activity,将其作为启动的activity
  2. splash activity设置背景图
  3. 延迟N秒钟之后启动首屏的activity

同时为了让切换的时候不出黑屏,还可以设置一些style,比如让首屏的activity的背景为透明的,这样在切换的时候就一直显示splash activity的背景图了。

亲测下来这些并没有什么卵用╮(╯▽╰)╭。

还是自己来吧。

拿手机对着logcat看了半天,发现黑屏的时间耗在资源加载上了,等到资源加载完,才显示UI。

那么等等,是不是可以在activity创建的时候,先显示一个全屏的图片,类似iOS的launch image,等到资源加载好了,该显示「正常」的界面的时候,再把这个图片去掉。

听上去好有道理╰( ̄▽ ̄)╮。

来试试吧!

// AppActivity.javapublic class AppActivity extends Cocos2dxActivity {protected static Handler mUIHandler;private static ImageView img = null;// 创建一个ImageView,splash是闪屏图片protected ImageView createLaunchImage() {    img = new ImageView(this);    img.setImageResource(R.drawable.splash);    return img;}// 当资源加载好了之后要删除之前创建的imageView// 否则一直会在界面上显示的;-)public static void removeLaunchImage() {    mUIHandler.post(new Runnable() {        @Override        public void run() {            if (img != null) {                img.setVisibility(View.GONE);            }        }    });}@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    mUIHandler = new Handler();    // 显示launch image 遮住「黑屏」    addContentView(createLaunchImage(),         new WindowManager.LayoutParams(            WindowManager.LayoutParams.FILL_PARENT,             WindowManager.LayoutParams.FILL_PARENT));    ...}

亲测有效<( ̄▽ ̄)> 哇哈哈…

更多相关文章

  1. android资源提供介绍
  2. Android 开发中 布局加载的原理
  3. Android 资源文件介绍
  4. android获取资源文件R.drawable中的图片的相关方法
  5. android获取资源文件非主流方法
  6. [android]简单方法记载 在adapter中异步加载网络图片
  7. Hybrid App for Android 资源整理(初步整理,待完善)
  8. [置顶] Android相关网络资源整理
  9. android加载gif图片

随机推荐

  1. 给Android的音量按钮添加监听事件
  2. Mac adb: command not found
  3. Android 计算出生日期至今天数(获取宝宝出
  4. 发布android app到android market的方法
  5. Service生命周期(Android)
  6. 【常用工具类】DensityUtils(dp px 互相转
  7. android利用videoView播放视频(已封装)
  8. 服务定期执行
  9. android利用handler实现打地鼠游戏
  10. Android Activity页面跳转动画