Delphi XE6のFireMonkeyモバイルアプリケーションでAndroid端末の画面情報を取得するコード。
uses
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.Util,
FMX.Helpers.Android;
procedure TForm1.Button1Click(Sender: TObject);
var
Display: JDisplay;
DisplayMetrics: JDisplayMetrics;
begin
Display := GetJDisplay();
DisplayMetrics := GetJDisplayMetrics();
Display.getMetrics(DisplayMetrics);
Memo1.Lines.Add(Format('Display.getWidth = %d', [Display.getWidth]));
Memo1.Lines.Add(Format('Display.getHeight = %d', [Display.getHeight]));
Memo1.Lines.Add(Format('Display.getOrientation = %d', [Display.getOrientation]));
Memo1.Lines.Add(Format('Display.getRefreshRate = %f', [Display.getRefreshRate]));
Memo1.Lines.Add(Format('Display.getPixelFormat = %d', [Display.getPixelFormat]));
Memo1.Lines.Add(Format('DisplayMetrics.xdpi(画面のx軸方向のの1インチあたりの正確な物理的なピクセル数) = %f', [DisplayMetrics.xdpi]));
Memo1.Lines.Add(Format('DisplayMetrics.ydpi(画面のy軸方向のの1インチあたりの正確な物理的なピクセル数) = %f', [DisplayMetrics.ydpi]));
Memo1.Lines.Add(Format('DisplayMetrics.widthPixels(ディスプレイの絶対的な幅) = %d', [DisplayMetrics.widthPixels]));
Memo1.Lines.Add(Format('DisplayMetrics.heightPixels(ピクセルのディスプレイの絶対的な高さ) = %d', [DisplayMetrics.heightPixels]));
Memo1.Lines.Add(Format('DisplayMetrics.density(ディスプレイの論理的な密度) = %f', [DisplayMetrics.density]));
Memo1.Lines.Add(Format('DisplayMetrics.density(インチ当たりのドット数で表した画面の密度) = %d', [DisplayMetrics.densityDpi]));
Memo1.Lines.Add(Format('DisplayMetrics.scaledDensity(ディスプレイに表示されるフォントの倍率) = %f',s [DisplayMetrics.scaledDensity]));
end;