display problem when switch back from Unity
Closed this issue · 4 comments
可能和本项目无直接关系。
在此,另外请教一个问题。 我有一个RN页面A, 跳转到一个嵌入了Unity(这个Unity是做成了RN的Native UI的)的RN页面B,这个时候,Unity能正常显示。但是当我从这个B页面会到A页面的时候,A页面可以正常调整过去,A页面可响应操作。但是有时候,完全显示不出来内容。(这个时候屏幕只显示了手机桌面。)
-
我的MainActivity.java
@OverRide
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SplashScreen.show(this);//// getWindow().setFormat(PixelFormat.RGBX_8888); // <--- This makes xperia play happy mUnityPlayer = new UnityPlayer(this);
}
-
我的RN的Native UI Manager:
@OverRide
protected UnityPlayer createViewInstance(ThemedReactContext reactContext) {
MainActivity activity = (MainActivity)reactContext.getCurrentActivity();
return activity.getUnityPlayer();
}
createViewInstance
这个方法规定是每次要创建一个新实例的。你这样做不确定有没有问题。
另外显示不出来可能是渲染问题,尝试下面两种办法看看能不能解决
- 不要把有Unity的界面设置成全屏,设置一个固定尺寸。
- 如果显示有异常,先按下home切出app,然后再切回来看看。
渲染问题。切出在切入,是正常的。
我想在切换回来后,RN无法确认Unity所占用的屏幕部分已经被修改,所以,没重新渲染那个部分。因为我的嵌入了Unity的RN页面,存在RN组件,所以,只有RN组件所占用的屏幕部分重新渲染了。我是想要找到个方法在Unity的RN页面切换出去后,强制刷屏一次,但还不知道如何做。目前,我用了一个取巧的方法。确保Unity的RN页面的左下角和右上角都存在RN组件,这样RN会重刷屏幕,在退出这个RN页面的时候,呵呵。RN不是按照组件来刷新屏幕,而是按照所有组件的联合区域来刷的。
第一个方案应该也是有效的。 或者你搜一下 surefaceview重绘
看看能不能找到办法,这个应该是unity的锅。
不全屏也是一样的问题。我的这个RN页面是有RN按钮和Unity组件,无论是RN组件浮在Unity组件上,还是和RN分屏,问题是相同的。