Home
最初に、ボタンやその他のボタン (ボタンなど)を本当に無効にしたい場合は、よく考えてください。Back
これはすべきことではありません (少なくともほとんどの場合、これは悪い設計です)。 )。自分のことしか言えませんが、OS ボタンをクリックできないようなアプリをダウンロードした場合、次にそのアプリをアンインストールして、非常に悪いレビューを残します。また、あなたのアプリが App Store で取り上げられることはないと思います。
今...
MX Player
他のアプリケーションの上に描画する許可を求めていることに注意してください: デバイスのボタンを
オーバーライドできないため(少なくとも最新の OS バージョンではありません)。アプリを「ロック」してボタンをクリックすると、ランチャーの上に自分自身を描画します。
もう少しシンプルで理解しやすい例を確認するには、Facebook Messenger Appを参照してください。Home
Android
MX Player
Home
Status Bar
MX PlayerとNavigation Bar
「オーバーライド」についてさらに情報を提供するように求められたので、これらのトピックも含めるように回答を編集しています。
まず最初に、MX Player は でImmersive Full-Screen Mode ( DevBytes Video ) を使用していKitKat
ます。
Android 4.4 (API レベル 19) では、setSystemUiVisibility()に新しいSYSTEM_UI_FLAG_IMMERSIVEフラグが導入され、アプリを真の「全画面表示」にすることができます。このフラグをSYSTEM_UI_FLAG_HIDE_NAVIGATIONおよびSYSTEM_UI_FLAG_FULLSCREENフラグと組み合わせると、ナビゲーション バーとステータス バーが非表示になり、アプリで画面上のすべてのタッチ イベントをキャプチャできるようになります。
没入型フルスクリーン モードが有効になっている場合、アクティビティは引き続きすべてのタッチ イベントを受け取ります。ユーザーは、システム バーが通常表示される領域に沿って内側にスワイプして、システム バーを表示できます。これにより、SYSTEM_UI_FLAG_HIDE_NAVIGATIONフラグ (および適用されている場合はSYSTEM_UI_FLAG_FULLSCREENフラグ) がクリアされ、システム バーが表示されるようになります。これは、設定されている場合、 View.OnSystemUiVisibilityChangeListenerもトリガーします。ただし、しばらくするとシステム バーが自動的に再び非表示になるようにする場合は、代わりにSYSTEM_UI_FLAG_IMMERSIVE_STICKYフラグを使用できます。このモードで一時的に表示されるシステム バーは一時的な状態であるため、フラグの「スティッキー」バージョンはリスナーをトリガーしないことに注意してください。
2 番目:ステータス バーを非表示にする
3 番目:ナビゲーション バーを非表示にする 没入型フル スクリーンの使用は のみですが、とを非表示にするのは だけではない
ことに注意してください。KitKat
Status Bar
Navigation Bar
KitKat
2 番目と 3 番目については多くを語ることはありません。View.OnSystemUiVisibilityChangeListenerに細心の注意を払うようにしてください。
私が何を意味するかを説明する Gist を追加しました。完全ではなく、修正が必要ですが、アイデアは得られます。https://gist.github.com/Epsiloni/8303531
これを実装して頑張ってください。楽しんでください!