Androidで、アプリウィンドウのサイズを取得するにはどうすればよいですか?物理的な画面サイズではなく、画面上のアプリケーションウィンドウの実際のサイズを探しています。たとえば、一般的に、通知バー、ソフトタッチボタンなどを取り除いた後に残っているもの。
質問する
23005 次
2 に答える
13
アプリのウィンドウのサイズが必要な場合は、yourview.getHeight()およびyourview.getWidth();を呼び出すだけです。しかし、それが機能するためには、ビューを描画する必要があります。
描画する前に高さを取得したい場合は、次のように実行できます。
https://stackoverflow.com/a/10134260/1851478
ただし、画面/ビューの測定にはさまざまなケースがありますが、「アプリケーションウィンドウの実際のサイズ」について具体的に説明すると、これはあなたのアプリですか?またはホーム画面アプリ?、他のアプリ?
使用可能なスペースから装飾(ステータスバー/ソフトボタン)を差し引いたものが必要な場合は、逆に攻撃することもできます。たとえば、実際の画面サイズを測定し(方法はAPIによって異なります)、ステータスバーの高さを差し引きます。
表示高さの例:
// Deprecated
((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getHeight();
ステータスバーの高さ:
Rect rectgle= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int StatusBarHeight= rectgle.top;
または
int statusBarHeight = Math.ceil(25 * context.getResources().getDisplayMetrics().density);
これを行うための多くの異なる方法。
より正確な答えを出すには、確かにあなたからのより多くの情報が必要です。
于 2012-12-01T00:04:35.080 に答える
9
これも非常に簡単です。
Rect windowRect = new Rect();
yourView.getWindowVisibleDisplayFrame(windowRect);
int hWindow = windowRect.height();
int wWindow = windowRect.width();
于 2014-12-19T23:59:20.737 に答える