1

私は現在、目の不自由な人向けのアプリに取り組んでいます。必要なのは、ユーザーが誤ってアプリの外に出ないようにすることです。そのため、Android 4でソフトボタンをオーバーレイ/置換/非表示にしようとしています。これは、たとえばMXPlayerで使用されているため、可能である必要があります(「ビデオを再生するときに画面をロックします)。

3つのボタン(戻る、ホーム、最近のアプリ)をすべてオーバーライドしようとしました。家に帰っても問題ありませんが、最近のアプリを上書き(無効化)する方法がわかりませんでした。ここで説明する解決策を試しましたが、成功しませんでした。

次のアイデアは、画面全体をオーバーレイすることでした。この質問で説明したシステムオーバーレイを正常に作成しましたが、ソフトボタンをオーバーレイする方法がわかりませんでした。

電話をroot化したりカスタムROMを使用したりせずにこの問題を解決する方法を知っていますか?

編集:SYSTEM_UI_FLAG_LOW_PROFILE(ボタンをドットに変える)とSYSTEM_UI_FLAG_HIDE_NAVIGATION(次のタッチまでボタンを隠す)でボタンを非表示にしてみました。残念ながら、アフタータッチボタンは通常どおり機能するため、これでも問題は解決しません。おそらく、それらを再び表示するオーバーライドを「非表示」にする方法がありますか?

4

1 に答える 1

3

Androidドキュメントから:

SYSTEM_UI_FLAG_LOW_PROFILEフラグは、STATUS_BAR_HIDDENフラグを置き換えます。このフラグを設定すると、システムバーまたはナビゲーションバーの「ロープロファイル」モードが有効になります。ナビゲーションボタンが暗くなり、システムバーの他の要素も非表示になります。これを有効にすると、システムナビゲーションボタンに気を取られることなく、より没入型のゲームを作成できます。

SYSTEM_UI_FLAG_VISIBLEフラグは、STATUS_BAR_VISIBLEフラグを置き換えて、システムバーまたはナビゲーションバーを表示するように要求します。

SYSTEM_UI_FLAG_HIDE_NAVIGATIONは、ナビゲーションバーを完全に非表示にすることを要求する新しいフラグです。これは、一部の携帯電話で使用されるナビゲーションバーでのみ機能することに注意してください(タブレットのシステムバーは非表示になりません)。システムがユーザー入力を受け取るとすぐに、ナビゲーションバーが表示に戻ります。そのため、このモードは、主にビデオの再生や、画面全体が必要であるがユーザー入力が不要なその他の場合に役立ちます。

于 2013-02-16T13:21:20.280 に答える