[英]Trouble getting systemBars Insets on Android 11+
我是 Android 的新手,我一直在試驗本指南中所述的邊到邊內容,只是讓它與在透明導航欄后面滾動的基本 RecyclerView 一起使用。 按照指南的指示,我使用 window 插圖來調整填充並防止重疊:
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.layout_root), (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
Log.d("DEBUG", "Insets: " + insets.toString());
v.setPadding(0, insets.top, 0, insets.bottom);
return WindowInsetsCompat.CONSUMED;
});
一切都在 Android 10 上完美運行,但在 Android 11 或 12 上測試時,頂部插圖總是返回 0。到目前為止,我發現了很多關於 Android 11 中 Window 插圖的更改,但我找不到與此特定相關的任何內容問題。
我也遇到了同樣的問題。 它總是返回 0。
我解決了以下問題:
int insetTypes = WindowInsetsCompat.Type.displayCutout() | WindowInsetsCompat.Type.systemBars();
Insets insets = windowInsets.getInsets(insetTypes);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.