👉即将学会
Android嵌套Unity后,屏幕旋转出现的页面问题。
👉背景
🙈小空(⌚):小芝,你看过韩剧继承者们吗?这两天我在看。
🙎小芝(💗):看过,看过,超级好看的。那时候边看边哭呢。
🙈小空:好,不说这个,我们解决下Android嵌套Unity的问题。
🙎小芝:......,你有病吧,你不聊你说什么,活该单身去吧!
👉实践过程
前段时间做个项目是 Android 集成Unity的,混合开发。测试没问题,发布出去了。
但是突然收到消息说崩溃了。没办法,看呗。然后查看平板设备,发现是8.0系统问题
它不让透明的页面申请屏幕变换。即setRequestedOrientation(......)
这个请求我写在了BaseActivity里,没办法只能去掉了,然后我将除透明activity外的页面在清单页面中写上横屏
android:screenOrientation="landscape" 复制代码
然后运行,嗯?没成功?然后我单独起个demo来看看,这不没问题吗。坑我。
我停止下来,仔细想了想,发现问题所在是Unity的问题导致。试验把unity效果注释掉,确实正确了。
附:我的项目是Unity导出android项目,然后放到Android Studio中编译成aar,放到自己的android项目中。
我就去Unity中修改了导出横竖屏设置。(unity/android都是自己开发,所以清门熟路)
这个屏幕方向有几个选择
- Portrait:竖屏
- Portrait Upside Down:竖屏,手机倒过来
- Landscape Right:横屏,屏幕在home键右边
- Landscape Left:横屏,屏幕在home键左边(比较常用,我选择的也是这个)
- Auto Rotation:自动旋转屏幕
- Auto Rotation有额外选项,可以只勾选某些方向,根据个人需求来指定旋转方向。
然后重新编译了一次,运行没问题,有3D的界面不自动变了。Android 8.0系统也没事了。
回忆一下
- 透明Activity取消申请屏幕旋转的代码,对不透明的页面设置。
- Unity项目导出的时候设置屏幕方向
- 成功
忘记在哪看到的一句话了, 透明Activity的屏幕方向跟随下面那个不透明activity的方向。所以只要保证跳转透明页面的activity的屏幕方向正确即可。
附赠 Android的屏幕方向列表:
👉其他
📢作者:小空和小芝中的小空
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。