問題タブ [windowinsets]
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 - OnApplyWindowInsetsListener は、常に 0 である systemWindowInsetBottom を提供します
systemWindowInsetBottom と stableInsetBottom はどちらも常に 0 です
バックグラウンド テクスチャを持つアクティビティがあり、FLAG_LAYOUT_NO_LIMITS を使用して、その背景をステータス バーとナビゲーション バーの背後に移動させています。しかし、ビューの他のコンテンツがこれらのシステム UI コンポーネントの背後にあるのは望ましくありません。
最初resources.getIdentifier("navigation_bar_height", "dimen", "android")
はナビゲーションバーの高さを取得するために使用することを考えましたが、それはナビゲーションバーのデフォルトの高さであるため、ユーザーがナビゲーションバーを非表示にしているデバイスでは機能しません。(サムスンのデバイス)
次に、 WindowInsets と android:fitsSystemWindows="true" について知りました
ステータス バーでは機能しますが、ナビゲーション バーでは機能しません。
私の活動で
そして私のレイアウト
API 28 を実行している Nexus 5x エミュレーターのスクリーンショットの例。API 26 を実行している実際のデバイスで同じ結果が得られます。
ナビゲーション バーが存在する場合、その実際のサイズを取得するにはどうすればよいですか?
android - NULL ウィンドウ インセット
DisplayCutout を取得しようとしています
java.lang.NullPointerException: null オブジェクト参照で仮想メソッド 'android.view.DisplayCutout android.view.WindowInsets.getDisplayCutout()' を呼び出そうとしています
これが私のコードです: