因为android studio中的SplashActivity并没有什么卵用,只是开机1s显示开机画面,1s后面还是黑屏。

在主文件中加入以下代码,就是开始游戏时显示一个居中填满屏幕的图片,游戏加载完成后,再隐藏这个图片,来达到去掉黑屏的效果。

  1. import android.app.ActionBar.LayoutParams;
  2. import android.widget.ImageView;te ImageView image;
  1. //启动游戏,解决黑屏,顶层显示的图片
  2. private LayoutParams params;
  3. private ImageView image;
  4. public void startSplash(){
  5. params = new LayoutParams(LayoutParams.MATCH_PARENT,
  6. LayoutParams.MATCH_PARENT);
  7. //设置中间位置
  8. params.gravity = Gravity.CENTER;
  9. image = new ImageView(this);
  10. image.setScaleType(ImageView.ScaleType. CENTER_CROP);
  11. image.setImageResource(R.drawable.splash_img);
  12. //添加控件
  13. addContentView(image, params);
  14. }
  15.  
  16. //游戏启动后,隐藏顶层显示的图片
  17. public void stopSplash(){
  18. image.setVisibility(View.GONE);
  19. }

哦,我的主文件是testappas

在onCreate中调用startSplash

监听stopSpash事件

  1. private void setInterfaces() {
  2. // Egret(TypeScript)-Runtime(Java)通讯
  3. // setRuntimeInterface(String name, IRuntimeInterface interface) 用于设置一个runtime的目标接口
  4. // callEgretInterface(String name, String message) 用于调用Egret的接口,并传递消息
  5. gameEngine.setRuntimeInterface("RuntimeInterface", new IRuntimeInterface() {
  6. @Override
  7. public void callback(String message) {
  8. Log.d(TAG, message);
  9. gameEngine.callEgretInterface("EgretInterface", "A message from runtime");
  10. }
  11. });
  12.  
  13. gameEngine.setRuntimeInterface("reqLogin", new IRuntimeInterface() {
  14. @Override
  15. public void callback(String message) {
  16. Log.d("externalInterface", "接收到Egret的登录请求 : " + message);
  17.  
  18. gameEngine.callEgretInterface("revLogin", "登录成功");
  19. }
  20. });
  21.  
  22. gameEngine.setRuntimeInterface("stopSplash", new IRuntimeInterface() {
  23. @Override
  24. public void callback(String message) {
  25. Log.d("externalInterface", "关闭开机画面 : " + message);
  26. stopSplash();
  27. }
  28. });
  29.  
  30. }

Egret游戏加载完成后,在出现Egret自己的加载页面之前调用stopSpash接口即可。

我一般是在显示在自己loadScene之前调用。

  1. egret.ExternalInterface.call("stopSplash","");

六 Android Studio打包Eegret App (解决开机黑屏问题)的更多相关文章

  1. 五 Android Studio打包Eegret App (包名和签名,打出正式包)

    一 定义包名 如下图,在AndroidManifest.xml中的package就是包名 二 创建keystore 选择Build->Generate Signed APK 选择create n ...

  2. 一 Android Studio 打包Egret App

    测试环境: Android Studio 2.3.2 Egret Engine 5.0.14 Egret Support5.0.12 官网教程:http://developer.egret.com/c ...

  3. Android Studio打包未签名包

    Android Studio打包未签名包 好久没有写技术博客了,真有点懈怠了,作为35岁的程序员,转行重新捡起这些知识,还是挺犹豫纠结的,不过没啥其它办法,一点一滴开始吧,今天这开篇就小结点前几天工作 ...

  4. Android Studio搭建系统App开发环境

    一.前言 在Android的体系中开发普通app使用Android Studio这一利器会非常的方便.但是开发系统app可能就会有些吃力,不过经过一些配置仍然会 很简单.我们知道系统app因为涉及到一 ...

  5. uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK

    前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...

  6. Android Studio 打包及引用 aar

    Android Studio 打包及引用 aar 1. 简述 在比较大的 Android 项目的开发中,我们经常会遇到工程.jar 包等等之间相互引用的方式.一般我们通过在 gradle 文件中配置依 ...

  7. Android Studio 打包时 Signature Version 选择V1还是V2 ?

    只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...

  8. Android tips(八)-->Android Studio打包apk,aar,jar包

    文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...

  9. Android Studio 打包自定义apk文件名

    使用Android Studio打包的时候,我们有时候需要自定义apk的文件名,在此记录一下. 在app的build.gradle中,根节点下使用关键词def声明一个全局变量,用于获取打包的时间,格式 ...

随机推荐

  1. 给Editplus去掉.bak文件

    Tools-->Configure User Tools-->Files-->去掉create bacup file when saving前复选框的对号.

  2. MySQL主从不一致情形与解决方法

    参考:https://blog.csdn.net/hardworking0323/article/details/81046408 https://blog.csdn.net/lijingkuan/a ...

  3. SCUT入门-协议生成器配置

    协议生成器需要放在IIS里才能正常使用.具体目录在:Scut\Source\Tools\ContractTools\release 关于具体细节看这篇:https://github.com/ScutG ...

  4. Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa

    Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa 1. 咨微海信数据库应用 工具 1 2. 数据库比较工具 StarInix SQL Compare    ...

  5. 实用crontab命令

    常用crontab如下: crontab -e 编辑 crontabcrontab -l  显示 crontabcrontab -r  删除 crontabcrontab -v 显示上一次编辑 cro ...

  6. mysql操作及自动化运维

    备份恢复工具:percona-xtrabackup-2.0.0-417.rhel6.x86_64.rpm mysql主从配置命令: 主: 1.编辑主MYSQL 服务器的MySQL配置文件my.cnf, ...

  7. Vmware linux 无法上网

    流程如下: 1)点击 VM->Settings Hardware选项卡下面 2)点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT, 3.进入Windo ...

  8. Android Studio 更新gradle插件

    今天更新了CentOS, 更新了java版本. 然后gradle跪了..... 不吐槽java版本的兼容性问题了.... 反正有他自己的理由.... 那么就更新gradle咯.... 下面是方法... ...

  9. 从调试角度理解ActionContext、OgnlContext、OgnlValueStack的关系

    被调试代码:    package web; import java.util.Map; import javax.servlet.http.HttpServletRequest; import or ...

  10. swift 类型.

    swift 类型 变量声明 用let来声明常量,用var来声明变量 可以在一行中声明多个常量或者多个变量,用逗号隔开 var x = 0.0, y = 0.0, z = 0.0 类型安全 Swift ...