フルスクリーンの横向きモードで実行され、ウィンドウの左下と右下にボタンが配置された Android ゲームを作成しています。問題は、これらのボタンの 1 つが (多くの電話で) [メニュー] ボタンのすぐ隣にあるため、プレーヤーが誤って [メニュー] を押してしまう可能性があることです。
短く押すと、ゲームを一時停止してゲーム内メニューを表示します。問題ありません。
しかし、ボタンを長押しすると、Android は画面の下半分にソフト キーボードを開きます。邪魔になるし、このActivityでは全く役に立たないので、無効にしたいと思います。
次のアプローチを試しました。
InputMethodManager 経由
From:キーボード操作を行わないアクティビティでソフト キーボードを非表示にする
ビューが 1 つしかないので (a GLSurfaceView
)、これを my で試しましたActivity.onCreate()
:
InputMethodManager imm = ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE));
imm.hideSoftInputFromInputMethod(glSurfaceView.getApplicationWindowToken(), 0);
機能しません: メニューを長押しすると、ソフト キーボードがまだ表示されます。
AndroidManifest.xml 経由
From:アプリケーション全体でAndroidソフトキーボードが表示されないようにする方法
これをマニフェストに追加しました:
<activity
android:windowSoftInputMode="stateAlwaysHidden"
>
何もしないこともたくさんあります。
それで...方法はありますか?どのように?