Unity apk启动Logo的设置 Android层

Unity 的app在打开的时候 会有两段黑屏
第一段是activity 资源未初始化的时候造成的黑屏
第二段是activity 初始化完成后 有一段的时间黑屏
以上只是个人观点。

要处理以上的问题,需要在Android层进行一系列的设置。

1.创建一个Activity 做为MainActivity启动,该Activity 不初始化任何UI,因此他的启动速度最快。
2.新建样式表 加入styles.xml表里,该样式的意思是使用无标题并且全屏的样式,并附带一张背景图,用该背景图设置为我所需要的Logo,背景图的设置是用android:windowBackGround设置,背景图资源需放在drawable文件夹下面。
3.在AndroidManifest给MainActivity设置样式,即设置完成后该样式会使该Activity的背景是一张我所设置的Logo图,这里即解决了第一段的黑屏时间。
4.在该Activity初始化完成后 跳转游戏的Activity 并且关闭该Activity,这里的作用是利用初始化的卡顿时间衔接上下个Activity的跳转,使Logo能正常的显示,个人观点。
5.跳转到游戏的Activity 此时Unity正在初始化一系列的东西会造成黑屏卡顿,在这个时刻给该显示的View动态添加一张背景图,使上个Activity的背景图和这个背景图无缝衔接上,下面的代码意思是
(1)创建一个图片控件
(2)设置图片控件的背景色
(3)设置图片控件的背景图
(4)设置图片的大小适配为xy全屏适配
(5)添加该图片控件到Unity的View最上层视图。
这里就解决了第二段黑屏
6.当Unity初始化完成之后,需要手动删除刚加入的背景图,使Unity能正常的显示,这里要注意一点,必须要在UI线程中调用该函数,该函数供Unity调用,当Unity初始化完成之后,自然场景的脚本就运行起来了,合理的在游戏开始界面初始化完成的时候把背景图关掉,衔接两者。这里还要注意一点,Unity初始化完成的时候黑屏会依旧存在,需自己合理的在异步加载主界面结束的时候关闭背景图。




以上是Unity apk 设置启动logo 屏蔽期间的所有黑屏。
期间遇见的问题如下
1.AndroidStudio 导出的aar里的AndroidManifest的minSDKVersion和targetSDKVersion必须与Unity的PlayerSetting设置一致,不然打包会提示双方版本不一致。

2.Layout中设置背景图,启动该Activity就会带一个背景图,不过这方案相比样式会加载的慢。

3.AndroidStudio的 Layout里引用的组件,不能是AndroidStudio中扩展包里所带的,不然迁移到Unity会提示该组件无视识别打包。

4.AndroidStudio导出的aar里的AndroidManifest的缩写名,在Untiy后会有误,必须需绝对路径,例如.MainActivity需要写城com.test.MainActivity.

5.AndroidStudio Layout样式的标签不能引用扩展包,不然该标签的名字无法被Unity识别,从而打包失败,以下就是正常的标签,不正常的标签长度一般都比较长。

6.stytle.xml样式表里的样式不能引用扩展包里的样式,必须是Android自带的样式或者自己创建的样式,不然会引发打包不出来的错误。

7.ImageView是图片控件,用来显示图片的,跟Unity的Imag类似。

8.AndroidStudio的Res资源目录里的资源 资源文件都必须以全小写 且开头不能是数字的形式组成,不然会导出aar 或者 打包失败。


以上就是整个流程。谢谢拉。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值