11
Androidの実行時に画面幅をDPまたはDIPで判断するにはどうすればよいですか?
私はdip / dp(Javaファイル内)を使用してAndroidウィジェットのレイアウトをコーディングする必要があります。実行時にコード化すると int pixel=this.getWindowManager().getDefaultDisplay().getWidth()、 これは、画面の幅をピクセル(px)で返します。これをdpに変換するために、私はコーディングしました: int dp =pixel/(int)getResources().getDisplayMetrics().density ; これは正しい答えを返さないようです。画面解像度が480×800のWVGA800のエミュレータを作りました。エミュレータを実行してコードにpixelとdpの値を印刷させたところ、どちらも320になりました。このエミュレータは240 dpiで、スケール係数は0.75です。