問題タブ [android-window]
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 - Android ウィンドウとは何ですか?
Window
Androidの とは何ですか?
Android の最上位レベルは と呼ばれていると思いましたがActivity
、これが表示されている画面です。
Androidのウィンドウとは何か教えてもらえますか? それらの1つまたは複数がありますか。
android - FLAG_NOT_TOUCHABLEを使用すると、応答しないエラーが発生します
そのエラーを取り除く方法はありますか?
アクティビティでFLAG_NOT_TOUCHABLEを使用していますが、画面をタッチするとエラーに応答しないように見えます...
android - 特定のアプリケーション内のすべての Windows をプログラムで見つける方法はありますか?
android.view.Window
アプリケーション内のすべての s または装飾ビューをプログラムで列挙することは可能ですか?
Dialogs
たとえば、どちらもWindow
メインのアクティビティ ウィンドウとは別の新しい で開きます。経由でそれらを見つけることができますDialog.getWindow()
が、アクティビティ メニュー ポップアップなどの組み込みコンポーネントを使用してこれを行う方法がわかりません。
Application
、Context
、またはWindowManager
、または他の何かから、アプリに関連付けられている Windows を列挙する方法はありますか?
アプリケーションのすべてのウィンドウを で表示できますがadb dumpsys window
、ルートを必要とせずにアプリケーション内でこれを行う方法を探しています。
android - setContentView() を呼び出した後、fitsSystemWindows="true" が機能しない
私が開発中のアプリでは、ユーザー入力後に UI をリロードしたいと考えていました (基本的には、変更を加えた後に完全にリセットします)。アクティビティの破棄/再作成を避けて、代わりに使用したかったsetContentView()
のは、はるかに高速だからです。
ただし、それを行うと問題が発生します。新しく作成された UI は を尊重せず、fitsSystemWindows="true"
その一部が Android のステータス バーの後ろに表示されます。
私はそれをテストするためにそのコード例に煮詰めることができました:
レイアウト.xml
MainActivity.java
アプリをロードすると、予期されるレイアウトが表示されます。これは、画面上部のステータス バーのすぐ下にあるシンプルなボタンです。
ただし、もう一度呼び出すボタンをクリックするとsetContentView
(同じ XML が表示されます)、ボタンはステータス バーの後ろに表示されます。
何が起こるかを確認するために呼び出すmainContainer.getMeasuredHeight()
と、アプリの最初の起動時に 1848px になります (高さ 1920px の画面で、その高さは画面全体よりも 72px 小さく、72px はステータス バーの高さです)、setContentView を呼び出すと、繰り返しますが、mainContainer.getMeasuredHeight()
1920pxになります。
ここで何か不足していますか?mainContainer を高さ 1848 ピクセル、上部パディングを 72 ピクセルにすることもできますが、このような醜いハックは避けたいと思います。
android - マルチウィンドウ機能をプログラムで無効にする
Androidのマルチウィンドウ機能を無効にしようとしています。Android のドキュメントを読み、resizeableActivity は Android N (API レベル 24) でのみ機能することを知っていますが、下位レベルの Android API では無効にしたいと考えています。Samsung デバイスには、すべてのデバイス (約) にマルチ ウィンドウ機能があります。だから私はそれを無効にする必要があります。
android - Android O でピクチャー イン ピクチャー機能を使用する
Android O の Picture In Picture モードの機能を確認する Android アプリを作成しましたが、このアプリケーションの実行中にエラーが発生しました。
setPictureInPictureArgs: デバイスはピクチャー イン ピクチャー モードをサポートしていません
android - ビューが正面にあるかどうかを検出するリスナー?
私は持っていてRecyclerView
、場合によっては、その上に別のビューを表示します - ProgressDialog
、AlertDialog
またはDialogFragment
.
私RecyclerView
が正面にある場合、または別のビューが現在その上にある場合について通知する方法はありますか?
に追加しようとしましonFocusChangeListener()
たRecyclerView
が、運がありません。
PS。確かに、私はRecyclerView
いくつかのメソッドisOnFront(boolean onFront)
を作成し、他のすべてのビューでそれを呼び出すことができますが、もっとエレガントな方法があるのでしょうか?