問題タブ [android-immersive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 没入モードに入ると、ステータスバーの背景が画面に残りますか?
私はどこでも検索してきましたが、それについて途方に暮れています。プロジェクトで没入モードをアクティブにしようとしています。ステータスバーの背景が常にそこにとどまり、没入感を台無しにすることを除いて、ほとんどすべてが正常に機能します...没入モードをアクティブにする前後の画面のスクリーンショットを含め、最大のコントラストのために「colorPrimaryDark」を完全な緑に設定しました: 何も表示されない場合のステータス バーの背景を示すスクリーンショット この問題を特定するために使用し、空のプロジェクトに再挿入したコードは、私の MainActivity にある Google 開発者の例から直接取得したものです。
私の問題はレイアウト ファイルまたはスタイル ファイルに起因するのだろうかと思いますが、それらはプロジェクト生成によるものです...誰かが私が失敗した場所を指摘してくれることを願っています! 前もって感謝します!
編集:アクティビティのレイアウト ファイルから : を削除android:fitsSystemWindows="true"
すると、実際のフルスクリーン モードが可能になることがわかりましたが、表示時に ActionBar の一部が StatusBar の後ろに隠れています。に設定するとgetSupportActionBar().show();
、onSystemUiVisibilityChangeListener
描画が早すぎるのでしょうか?
編集2:これまでのところ、コンテンツの位置/サイズ(アクションバーを含む)に関して2つの選択肢しかないことを理解している:
画面の上部、ステータスバーによって部分的に隠されているアクションバーを表示する
か、ステータスバーの下これにより、statusBar が非表示のときに「穴」が残ります-_-メソッド
内で自分で ActionBar を画面外/画面上でアニメーション化するソリューションを探していますが、onSystemUiVisibilityChangeListener
方法が見つかりませんそのビューを取得するには、そこに投稿されたソリューションhttps://stackoverflow.com/a/21125631/6463888が古くなっているようです...
android - Android 没入モード
ナビゲーションバーを非表示にしたい。ユーザーが指を外側から内側にドラッグした場合にのみ表示されます。私はこのコードをテストします:
アクティビティは正常に開始され、ナビゲーション バーは表示されません。Buti には次の問題があります。2)それが表示されているとき、透明に表示されていません。3) ナビゲーション バーが非表示になりません。
この 3 つの項目をどのように追加できますか? 私が見逃しているもの。
android - マシュマロのみ、没入モードでポップアップウィンドウがスペース/ギャップで表示されます
具体的には、マシュマロ (Nexus 5X および 6P でテスト済み) で、没入モードで画面上に (match_parent の幅と高さを持つ) を開くPopupWindow
と、ポップアップのコンテンツが全画面に拡大されず、ナビゲーション ボタンが表示される場所にギャップがあります。以前は。この効果は、目に見えないナビゲーション ボタンがまだそこにあるかのように、スペース/ギャップ/マージンを追加します。
これは私がポップアップを作成する方法です:
これはポップアップ レイアウトの始まりです。
これは、ポップアップが表示される全画面表示です。
このバグを具体的に引き起こす Marshmallow の変更点があるかどうか知っていますか? Nexus 5 では、バージョン 5.0.1 およびその他の古い電話/バージョンをテストして、すべて正常に動作します。前もって感謝します!:)
java - 没入モードで、システム バーとナビゲーション バーの表示を制限するにはどうすればよいですか
私は現在、cocos2d-xを使用して作成している Android ゲームでIMMERSIVE_STICKYフラグをAppActivity.javaファイルに実装して使用しています。
ただし、デフォルトの動作では、ユーザーが画面の上から下にスワイプしたとき、およびユーザーが画面の下から上にスワイプしたときに、システム バーとナビゲーション バーが縦長モードで表示されます。
私はしたいと思います:
画面の下から上へのスワイプをゲームプレイ要素として組み込みますが、これによりナビゲーションバーの表示がトリガーされます
ユーザーがTOPからスワイプしたときにのみ表示されるように、これらのバーの表示を制限したいと思います。このようにして、私のゲームは追加された画面領域を利用し、画面の下部でもユーザー入力を受け入れることができます。
誰でもこれを行う方法を教えてもらえますか? ありがとうございました。
android - Android スティッキー イマーシブ モードで不透明なステータス バーを強制する
Android のスティッキー イマーシブ モードを使用すると、ステータス バーとナビゲーション バーを一時的に画面にスワイプすると、一部のデバイス (Nexus テーブルなど) でステータス バーが半透明で表示されます。他の一部のデバイス (Samsung S5 など) では、両方とも Marshmallow で、ステータス バーが不透明です。
残念ながら、私の場合、半透明のステータス バーはウィンドウの内容と混同されてしまい、ほとんど役に立たなくなります。
すべてのデバイスで一時的な「スティッキー イマーシブ」ステータス バーを強制的に不透明にして、この問題を回避するにはどうすればよいですか? 私はもう試した
しかし、それは少しも役に立ちませんでした。
android - ユーザーが Android でナビゲーション ボタンをクリックできないようにする方法
ユーザーが誤ってアプリケーションを終了してしまうという問題が発生しました。Android がこれらのボタンの使用をブロックするのを防いでいることは知っています。なぜなら、いつでも何らかの方法でアプリを終了できるはずだからです。しかし、私は視覚障害者向けのアプリを作成しており、アプリを閉じないように特別な終了を実装します。彼らがそれを使用するとき。
ここに私が集めたいくつかのものがあります:
機能をブロックして、
onBackPressed()
戻るのを防ぐことができます。onKeyEvent()
ホームクリックがつかめないので使えない良い例は MX Player で、画面を「ロック」できますが、画面全体を描画するだけなので、ユーザーは何もクリックできません。
わかりましたので、MX Player と同じものを取得したいと思いますが、ユーザーが画面と対話できるようにしたいという点が異なります。
Google がフルスクリーン アプリ用に導入したものを使用Immersive full screen
してみましたが、ユーザーが画面上で指をスライドさせるたびにNavigation Menu
ポップアップが表示されます。これを常に隠しておくことはできますか?また、スライドStatus Bar
がボタンを表示しないようにすることはできますか? ユーザーが画面上で指を動かす方法を完全に制御したいと思います。
MX Player ソリューションに戻ると、画面上に描画します。Canvas
フォーカスがなく、ボタンのクリックを防ぐためだけにあるようなものを作成できますか?
どんな助けでも大歓迎です。ありがとう。
android - 横向きモードでのみ没入型モードを使用する
ランドスケープ (ステータス バーとナビゲーション バーなし) で没入モードになり、ポートレート (リターン ステータス バーとナビゲーション バーあり) で没入モードを無効にするアプリを作成してみます。再起動アクティビティなし (onCreate は 1 回だけ呼び出されます)。私の問題を示すために小さなサンプルアプリを書きました。
AndroidManifest.xml
activity_main.xml
MainActivity.java
私の問題を確認する手順:
1)アプリを(縦向きモードで)起動すると、タイトルバー、ステータスバー、ナビゲーションバーを含むフルスクリーンに赤い背景の子RelativeLayoutが表示されます。あたりです。スクリーンショット
2) 横向きに回転します。そして再び正しい結果が表示されます:タイトルバー、ステータスバー、ナビゲーションバーのない没入モードで赤い背景を持つ子 RelativeLayout。
3) 縦向きに回転します。最初のステップのスクリーンショットのように、正しい結果が表示されます。
4) 再び横向きに回転します。そして、私は正しい結果ではありません。子の RelativeLayout が親のサイズに引き伸ばされていません。画面の上下に空のフィールドが表示されます。問題のあるスクリーンショット
修正方法は?最初の正しくないサイズ変更の子 RelativeLayout の代わりに、すべての回転を横向きにするのはなぜですか?
Ps Min SDK バージョン 19。
android - アクティビティ画面に関係なく、画面に AlertDialog を表示する
ユーザーがいる画面に関係なくダイアログを表示したい。ユーザーがアプリケーションを開いて初期画面でサーバーメッセージを受信した場合、ダイアログに表示する必要があるとします。したがって、次のアクティビティに移動できます。この場合、ダイアログを閉じてはいけません。以前のアクティビティではなく、新しく開いたアクティビティに表示する必要があります。また、ダイアログが表示されていても、できるはずですアクティビティのボタンを制御します。
これが私がやっていることです。
代わりに、すべてのアクティビティでダイアログを表示しています。
前もって感謝します。