源分享网正式开通,我们为大家提供免费资源,欢迎大家踊跃投稿!

delphi开发中如何读取Android字体列表

代码编程 青果笔记 11个月前 (06-13) 522次浏览 0个评论 扫描二维码

在Delphi中,您可以使用Android的Java接口来读取Android设备上的字体列表。以下是一个示例代码,演示如何在Delphi中读取Android字体列表:

uses
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNIBridge,
Androidapi.Helpers,
FMX.Helpers.Android,
System.Classes;

function GetAndroidFontList: TStringList;
var
TypefaceClass: JNIClass;
TypefaceObj: JObject;
FontManager: JFontManager;
TypefaceArray: TJavaObjectArray<JTypeface>;
Typeface: JTypeface;
FontList: TStringList;
I: Integer;
begin
FontManager := TJFontManager.JavaClass;

// 获取系统字体列表
TypefaceClass := GetClass('android.graphics.Typeface');
TypefaceObj := TJTypeface.JavaClass.defaultFromStyle(TJTypeface.JavaClass.NORMAL);
TypefaceArray := FontManager.getSystemFonts;

FontList := TStringList.Create;
try
for I := 0 to TypefaceArray.Length - 1 do
begin
Typeface := TypefaceArray.Items[I];

// 获取字体的名称
FontList.Add(JStringToString(Typeface.getClass.getMethod('toString').invoke(Typeface)));
end;
finally
Result := FontList;
end;
end;

// 示例用法
procedure TForm1.Button1Click(Sender: TObject);
var
FontList: TStringList;
I: Integer;
begin
FontList := GetAndroidFontList;
try
for I := 0 to FontList.Count - 1 do
ShowMessage(FontList[I]);
finally
FontList.Free;
end;
end;

在上述代码中,使用了Android的Java接口来获取字体列表。首先,我们使用 JFontManager 类获取系统字体列表,然后遍历列表获取每个字体的名称。

请注意,在Delphi中,使用Android的Java接口需要通过 Androidapi.JNI 单元和其他相关单元来访问Java类和方法。您还需要确保将 Android 支持库添加到 Delphi 项目中。

以上代码仅是一个示例,可以根据自己的需求进行适当的修改和扩展。


本站资源均来源于互联网,仅限于学习研究,严禁从事商业或者非法活动!丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:delphi开发中如何读取Android字体列表
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
热血江湖私发网 魔兽sf 热血江湖私服 热血江湖私服 热血江湖私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 热血江湖私服 热血江湖私服 热血江湖私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 诛仙私服 热血江湖私服 热血江湖私服 热血江湖私服 热血江湖sf 热血江湖私发网 热血江湖私发网 热血江湖私发网 热血江湖私发网