如上所示,当我运行我的应用程序时会出现一个菜单按钮。我想像往常一样隐藏按钮。直到我使用软键将手机更换为Nexus5,我才知道这个问题。我在Unity3d中开发了这个应用程序,没有代码从软键接收消息,除了后退按钮。当然,按下菜单按钮时没有任何反应。如何在Unity项目中控制此配置?
答案 0 :(得分:3)
转到Unity - >档案 - >构建设置... - >将平台切换到Android。然后,选择播放器设置 - >捆绑标识符 - >复制捆绑标识符。
转到资产/插件/ Android
创建新文件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。