2017-09-13 18 views
4

私のアプリでは、現在、windowManager.getDefaultDisplay()を使用して画面サイズを決定しています。Galaxy S8で正しい画面表示サイズを取得

新しいサムスンS8ナビゲーションバーでは、左下の「点」を使って表示と非表示を切り替えることができます。表示または非表示のナビゲーションバーと同じ表示サイズになります。ナビゲーションバーが表示されているかのように常に表示サイズが返されます。ナビゲーションバーが非表示になっている場合は1080x2220になりますが、常に1080x2076になります。

アプリケーションを正しく表示できるように、プログラムでケースを区別して正しい画面サイズを取得する方法はありますか?

+0

についてのより多くのdetailesはこちら

はチェック私は状況にあまり慣れていないんだけど、ナビゲーションバー(例えば、 'getNavigationBarを()')を取得し、 'のisVisible(かどうかを確認する方法があります)'か否か?もしそうなら、あなたはnavbarの高さを取得し、それを画面に追加できますか?または、可視性に関係なく、ナビゲーションバー領域が何らかの方法で「制限」されていますか? – ray

+0

[Immersive Full-Screen Mode](https://developer.android.com/training/system-ui/immersive.html)を使用しようとしましたか? – Eselfar

答えて

1

私はあなたと同じ問題を抱えていた、と私が見つけた解決策は、コンテンツルートビューの高さを測定した:

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

は、それはあなたを助けることを願っています。 android.R.id.content

関連する問題