2017-09-13 94 views
4

在我的應用程序中,我正在使用windowManager.getDefaultDisplay()來確定屏幕大小。在Galaxy S8上獲取正確的屏幕顯示大小

使用新的三星S8導航欄,可以使用左下角的「點」來顯示和隱藏導航條,我可以獲得與顯示或隱藏導航欄相同的顯示尺寸。它總是返回顯示大小,就像顯示導航欄一樣 - 當導航欄隱藏時我希望獲得1080x2220,但總是獲得1080x2076。

有沒有什麼辦法可以通過編程方式區分個案並獲得正確的屏幕尺寸,以便我可以正確顯示我的應用程序?

+0

我不是太熟悉的情況,但有沒有辦法讓導航欄(例如'getNavigationBar()'),並檢查是否'ISVISIBLE()'或不?如果是這樣,你能得到導航欄的高度並將其添加到屏幕上嗎?或者,無論能見度如何,導航欄區域都以某種方式「受限制」? – ray

+0

您是否嘗試過使用[Immersive Full-Screen Mode](https://developer.android.com/training/system-ui/immersive.html)? – Eselfar

回答

1

我有同樣的問題,因爲你,我找到了解決辦法是測量內容視圖的高度:

findViewById(android.R.id.content).getHeight() 

希望它會幫助你。

檢查這裏更多detailes約android.R.id.content

相關問題