2

我正在开发UnityPlayerActivity,其中相机在其顶部的完整屏幕上呈现,具有我的工具栏和导航抽屉。所以我面临以下问题

案例 A:使用 android:fitsSystemWindows="false" 显示导航抽屉,但不如预期的那样,因为抽屉的高度未显示全屏。但是android导航栏是透明的,相机按预期拍摄全屏。

案例 B:使用 android:fitsSystemWindows="true" 按预期显示抽屉式导航,抽屉高度显示全屏。但是android导航栏不是透明的,所以相机没有按预期拍摄完整的屏幕。

案例一 案例二 这是我的布局文件

4

1 回答 1

0

不必绑定 Unityplayer 活动或 mainActivity。

您可以将任何活动设为静态,并从 c# unity 调用这些活动中存在的函数或 UI。

正确的方法是在您的主 Android 项目中创建一个静态 Activity 并将其命名为 currentActivity。在您的 oncreate 方法中,您将 currentActivity 设置为此以下代码演示:

public class MainActivity extends UnityPlayerActivity {

 public static MainActivity currentActivity;

 @Override

     public void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         currentActivity=this;

另外:从您的 Unity 代码中,您可以使用 C# 通过使用以下代码从 MainActivity 调用 Android 方法:

AndroidJavaClass jc = new AndroidJavaClass("yourpackagename.youractivity");

 AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

 jo.Call("toggleMenu");

或者

您可以将 UnityPlayerActivity 转换为 Fragment,下面提到的链接将对您有所帮助

如何在新进程中打开 Android 片段?

于 2017-03-21T00:30:11.947 回答