1

を使用して「画面サイズ」を取得する方法は知っていDisplayMetricsますが、SDKドキュメントに記載されているとおりです。

このメソッドによって返されるサイズは、必ずしもディスプレイの実際の生のサイズ(ネイティブ解像度)を表すとは限りません。返されるサイズは、常に表示される特定のシステム装飾要素を除外するように調整される場合があります。また、元々小型ディスプレイ用に設計された古いアプリケーションとの互換性を提供するためにスケーリングされる場合もあります。

とにかく実際の画面サイズを取得することはできますか?

4

1 に答える 1

1

質問に対する答えではないかもしれませんが、レイアウトがまだレイアウトされていないときにコードが実行されているときにビューのディメンションが必要な場合(たとえば、onCreate()で)、セットアップできることを知っておくと便利です。ViewTreeObserverView.getViewTreeObserver()。addOnGlobalLayoutListener()を使用して.OnGlobalLayoutListenerを作成し、ビューのディメンションを必要とする関連コードをそこに配置します。レイアウトがレイアウトされると、リスナーのコールバックが呼び出されます。

詳細については、ViewTreeObserverをご覧ください。

ただし、一般的な画面のサイズについてはDisplayMetrics、SDKドキュメントのメモを無視してそれ自体を使用します。

于 2012-09-08T07:45:10.820 に答える