AndroidでActivity以外でもScreenMetricsを得るには?
Androidで画面情報を得るにはScreenMetricsが必要だ。
しかし、これを得るためにはWindowManagerがゲットできなければならない。
ActivityにはgetWindowManager()という専用メソッドがあるので簡単にゲットできるけど、Activity以外でWindowManagerを得るにはどうしたらいいだろう?
こんな風。
つまり、Contextさえあればいい。
ContextはViewクラスなどのコンストラクタでも渡ってくるので、そういったクラスならどこでもゲットできることになるだろう。
しかし、これを得るためにはWindowManagerがゲットできなければならない。
ActivityにはgetWindowManager()という専用メソッドがあるので簡単にゲットできるけど、Activity以外でWindowManagerを得るにはどうしたらいいだろう?
こんな風。
public static final DisplayMetrics getDisplayMetrics(Context context) { WindowManager winMan = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); Display disp = winMan.getDefaultDisplay(); DisplayMetrics dispMet = new DisplayMetrics(); disp.getMetrics(dispMet); return dispMet; }
つまり、Contextさえあればいい。
ContextはViewクラスなどのコンストラクタでも渡ってくるので、そういったクラスならどこでもゲットできることになるだろう。
コメント
コメントを投稿