六 Android Studio打包Eegret App (解决开机黑屏问题)
因为android studio中的SplashActivity并没有什么卵用,只是开机1s显示开机画面,1s后面还是黑屏。
在主文件中加入以下代码,就是开始游戏时显示一个居中填满屏幕的图片,游戏加载完成后,再隐藏这个图片,来达到去掉黑屏的效果。
import android.app.ActionBar.LayoutParams;
import android.widget.ImageView;te ImageView image;
//启动游戏,解决黑屏,顶层显示的图片
private LayoutParams params;
private ImageView image;
public void startSplash(){
params = new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
//设置中间位置
params.gravity = Gravity.CENTER;
image = new ImageView(this);
image.setScaleType(ImageView.ScaleType. CENTER_CROP);
image.setImageResource(R.drawable.splash_img);
//添加控件
addContentView(image, params);
} //游戏启动后,隐藏顶层显示的图片
public void stopSplash(){
image.setVisibility(View.GONE);
}
哦,我的主文件是testappas

在onCreate中调用startSplash

监听stopSpash事件
private void setInterfaces() {
// Egret(TypeScript)-Runtime(Java)通讯
// setRuntimeInterface(String name, IRuntimeInterface interface) 用于设置一个runtime的目标接口
// callEgretInterface(String name, String message) 用于调用Egret的接口,并传递消息
gameEngine.setRuntimeInterface("RuntimeInterface", new IRuntimeInterface() {
@Override
public void callback(String message) {
Log.d(TAG, message);
gameEngine.callEgretInterface("EgretInterface", "A message from runtime");
}
});
gameEngine.setRuntimeInterface("reqLogin", new IRuntimeInterface() {
@Override
public void callback(String message) {
Log.d("externalInterface", "接收到Egret的登录请求 : " + message);
gameEngine.callEgretInterface("revLogin", "登录成功");
}
});
gameEngine.setRuntimeInterface("stopSplash", new IRuntimeInterface() {
@Override
public void callback(String message) {
Log.d("externalInterface", "关闭开机画面 : " + message);
stopSplash();
}
});
}
Egret游戏加载完成后,在出现Egret自己的加载页面之前调用stopSpash接口即可。
我一般是在显示在自己loadScene之前调用。
egret.ExternalInterface.call("stopSplash","");
六 Android Studio打包Eegret App (解决开机黑屏问题)的更多相关文章
- 五 Android Studio打包Eegret App (包名和签名,打出正式包)
一 定义包名 如下图,在AndroidManifest.xml中的package就是包名 二 创建keystore 选择Build->Generate Signed APK 选择create n ...
- 一 Android Studio 打包Egret App
测试环境: Android Studio 2.3.2 Egret Engine 5.0.14 Egret Support5.0.12 官网教程:http://developer.egret.com/c ...
- Android Studio打包未签名包
Android Studio打包未签名包 好久没有写技术博客了,真有点懈怠了,作为35岁的程序员,转行重新捡起这些知识,还是挺犹豫纠结的,不过没啥其它办法,一点一滴开始吧,今天这开篇就小结点前几天工作 ...
- Android Studio搭建系统App开发环境
一.前言 在Android的体系中开发普通app使用Android Studio这一利器会非常的方便.但是开发系统app可能就会有些吃力,不过经过一些配置仍然会 很简单.我们知道系统app因为涉及到一 ...
- uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK
前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...
- Android Studio 打包及引用 aar
Android Studio 打包及引用 aar 1. 简述 在比较大的 Android 项目的开发中,我们经常会遇到工程.jar 包等等之间相互引用的方式.一般我们通过在 gradle 文件中配置依 ...
- Android Studio 打包时 Signature Version 选择V1还是V2 ?
只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...
- Android tips(八)-->Android Studio打包apk,aar,jar包
文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...
- Android Studio 打包自定义apk文件名
使用Android Studio打包的时候,我们有时候需要自定义apk的文件名,在此记录一下. 在app的build.gradle中,根节点下使用关键词def声明一个全局变量,用于获取打包的时间,格式 ...
随机推荐
- GPS项目小结
GPS项目中涉及到的技术有地图纠偏,js与winform c#的交互等方面: 1 google地图纠偏,能够私下call我...QQ(964877814)....,事实上主要由于考虑到政治以及军 ...
- QT实现右键快捷菜单
[转自]:http://blog.csdn.net/rolland1989/article/details/5754575 QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单 ...
- 点滴积累【other】---HTTP 错误 404.13 - Not Found,请求筛选模块被配置为拒绝超过请求内容长度的请求(转载)
此文参考来源:http://blog.csdn.net/tiantian1980/article/details/6577499 问题:HTTP 错误 404.13 - Not Found,请求筛选模 ...
- spark 学习(二) RDD及共享变量
声明:本文基于spark的programming guide,并融合自己的相关理解整理而成 Spark应用程序总是包括着一个driver program(驱动程序),它运行着用户的main方 ...
- PCI & PCIE Configuration Register Space
1.PCI-Compatible Configurationbits [1:0] are hard-wired, read-only and must return zeros when read.b ...
- makefile之override
override指示符 通常在执行 make 时,如果通过命令行定义了一个变量,那么它将替代在 Makefile中出现的同名变量的定义. 就是说,对于一个在 Makefile 中使用常规方式(使用&q ...
- Mac下Selenium无法最大化Chrome解决方案
在用Selenium做自动化操作时,一般最大化浏览器的代码都是:driver.manage().window().maximize(), 但是在Mac下这样是无法最大化Chrome浏览器的,解决方法: ...
- django 判断用户是否登陆
基于类的视图登陆
- 插入节点insertBefore()
http://www.imooc.com/code/1699 插入节点insertBefore() insertBefore() 方法可在已有的子节点前插入一个新的子节点. 语法: insertBef ...
- Apache Avro:一个新的数据交换格式
原文: http://blog.cloudera.com/blog/2009/11/avro-a-new-format-for-data-interchange/ 注:由于个人英语能力有限,翻译不准确 ...