Delphi XE6のFireMonkeyモバイルアプリケーションでAndroid端末の画面情報を取得する

Delphi XE6のFireMonkeyモバイルアプリケーションでAndroid端末の画面情報を取得するコード。

Android_Display_Delphi

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;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です