Unity3d应用中的Android菜单按钮

时间:2013-11-27 02:36:40

标签: android unity3d android-softkeyboard

A menu button appeared on my app

如上所示,当我运行我的应用程序时会出现一个菜单按钮。我想像往常一样隐藏按钮。直到我使用软键将手机更换为Nexus5,我才知道这个问题。我在Unity3d中开发了这个应用程序,没有代码从软键接收消息,除了后退按钮。当然,按下菜单按钮时没有任何反应。如何在Unity项目中控制此配置?

2 个答案:

答案 0 :(得分:3)

  1. 转到Unity - >档案 - >构建设置... - >将平台切换到Android。然后,选择播放器设置 - >捆绑标识符 - >复制捆绑标识符。

  2. 转到资产/插件/ Android

  3. 创建新文件AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    

        

    <application
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
                  android:launchMode="singleTask"
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
        </activity>
    </application>
    </manifest>
    

    或者你可以去/Applications/Unity/Unity.app/Contents/PlaybackEngines 并复制文件AndroidManifest.xml,然后添加

       <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="14" />
    

    注意:targetSdkVersion&gt; = 14是好的,(即:15,16 ......)

    重建您的应用

    祝你好运!

答案 1 :(得分:2)

Unity使用KeyCode.Escape and KeyCode.Menu处理那些。

void Update() {
    if (Input.GetKeyDown(KeyCode.Escape)) {
        //user pressed back key
    }

    if (Input.GetKeyDown(KeyCode.Menu)) {
        //user pressed menu key
    }
}

如果要隐藏软键,可以尝试this suggestion from the forums