健康意識の高まり

いろんなメモなど

Android で View の Id が取得できない場合にコンテンツ表示領域のサイズを取る方法

コンテンツ表示領域の width, height を取得したい場合、通常なら
Activity#findViewById() して取得した ViewGroup の getter である getWidth, getHeight を使えばいい。

一方、たとえば SDK の開発などで、
SDK組み込み先のアプリのコンテンツ表示領域の特定位置に何らかの View (fragmentなど)を表示させたい”
といったときは、view の id がわからず、この方法が使えないこともある。
そういうときは、以下のように、 root のレイアウトを取得する。

ViewGroup root = (ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content);
root.getHeight();
root.getWidth();