加载系统字体的文件管理器类

public class FontManager {

// This function enumerates all fonts on Android system and returns the HashMap with the font

// absolute file name as key, and the font literal name (embedded into the font) as value.

static public HashMap< String, String > enumerateFonts()

{

String[] fontdirs = { "/system/fonts", "/system/font", "/data/fonts" };

HashMap< String, String > fonts = new HashMap< String, String >();

TTFAnalyzer analyzer = new TTFAnalyzer();

for ( String fontdir : fontdirs )

{

File dir = new File( fontdir );

if ( !dir.exists() )

continue;

File[] files = dir.listFiles();

if ( files == null )

continue;

for ( File file : files )

{

String fontname = analyzer.getTtfFontName( file.getAbsolutePath() );

if ( fontname != null ) {

// Log.d("fonts", fontname+" : "+file.getAbsolutePath());

fonts.put(file.getAbsolutePath(), fontname);

}

}

}

return fonts.isEmpty() ? null : fonts;

}

字体详细信息模型类:

public class FontDetail

{

String sFontNames;

String sFontPaths;

String sFontType;

public FontDetail(String sFontNames, String sFontPaths, String sFontType)

{

this.sFontNames = sFontNames;

this.sFontPaths = sFontPaths;

this.sFontType = sFontType;

}

public String getsFontNames()

{

return sFontNames;

}

public void setsFontNames(String sFontNames)

{

this.sFontNames = sFontNames;

}

public String getsFontPaths()

{

return sFontPaths;

}

public void setsFontPaths(String sFontPaths)

{

this.sFontPaths = sFontPaths;

}

public String getsFontType()

{

return sFontType;

}

public void setsFontType(String sFontType) {

this.sFontType = sFontType;

}

}

数组列表以保存字体列表:

ArrayList arrLstFontDetail = new ArrayList();

在arrLstFontDetails中加载系统字体:

public void loadSystemFontsToListView() {

try {

Iterator> iter = FontManager.enumerateFonts().entrySet().iterator();

while (iter.hasNext()) {

@SuppressWarnings("rawtypes")

Map.Entry mEntry = (Map.Entry) iter.next();

LogMaintain.ShowLog(LogMaintain.LogType.Error, "System : " + (String) mEntry.getValue() + "Key: " + (String) mEntry.getKey());

arrLstFontDetail.add(new FontDetail((String) mEntry.getValue(), (String) mEntry.getKey(), "System"));

}

}

android获取系统使用的字体,android - 我如何获取已安装的Android系统字体列表并将其应用于自定义键盘 - 堆栈内存溢出...相关推荐

  1. android 白平衡,android - Android camera2自定义白平衡 - 堆栈内存溢出

    我正在开发一个需要不间断输入不变图像的应用程序,因此我设置了一个预览图来不断捕获图像并对其进行配置,以便可以手动调整每个控件. 但是,只有这个参数使我无法进行控制,而它是颜色校正功能. 我正在使用TE ...

  2. 构建一个Gods Eye Android应用程序:第1部分 – 收集已安装的Android应用程序

    首先问候一下我的黑客伙伴们,在之前的Introduction to Amunet 教程中,我们了解到Amunet可能是一个间谍Android应用程序. 我不浪费太多时间因而直入主题. 在本教程中,我们 ...

  3. android 获取已安装 错误代码,android获取手机已经安装的app信息

    Android获取手机已安装APP(系统/非系统) 效果图 主体代码 private ListView mlistview; private ListpackageInfoList; private ...

  4. 小米8android系统版本,国产首发?小米8 SE已率先开始测试Android Q系统

    原标题:国产首发?小米8 SE已率先开始测试Android Q系统 安卓版本目前按照26个字母的顺序推进,在Android 9 Pie之后将是Android Q(安卓10.0?). 经查,GeekBe ...

  5. com.sec.android.app.keyguard,android - 查找/ system / app的APK名称 - 堆栈内存溢出

    如何找到/ system / app的APK名称? 因为某些apk名称不在" pm list package -f"中,所以它们都是系统应用程序,我只需要知道APK名称,例如下面的 ...

  6. android ?attr得到状态栏高度,android - 状态栏下方的CoordinatorLayout + CollapsingToolbarLayout滚动 - 堆栈内存溢出...

    我的布局有一个奇怪的问题. 我有一个带有CollapsingToolBarLayout的CoordinatorLayout . 我有一个透明的状态栏,可以在顶部更好地显示图像. 因此,我在此Image ...

  7. android 自定义录像机,android-camera2 - 将自定义捕获请求构建器选项设置为使用Camera2 API捕获图像以使用OpenCV库进行摄像机校准 - 堆栈内存溢出...

    我们正在使用Camera2 API捕获N张图像,而未设置任何自定义捕获请求构建器选项. 我们正在使用这些图像通过OpenCV Android库411进行相机校准. 然后,我们正在使用OpenCV An ...

  8. android 电视安装apk文件损坏,android - 无法在Android电视盒上安装APK - 堆栈内存溢出...

    我正在为Android TV编写应用程序. 它可以在模拟器上正常运行,并在Android电视盒上以调试模式运行. 但是,当我使用Android Studio生成apk并尝试将该apk安装在同一盒子上时 ...

  9. android 7.1内存泄漏,android - Android 7.1和7本机崩溃:libc.so tgkill + 12 - 堆栈内存溢出...

    我看到此原生崩溃与以下堆栈跟踪. 我已经检查了与此类似的其他问题,但是未找到任何类似的解决方案,因为我没有使用TextureView或CardView,并且我也确定这不是由于任何库依赖性而引起的. 有 ...

最新文章

  1. Flex 页面跳转 四种方法
  2. ibatis mysql 配置文件详解_MyBatis配置文件详解
  3. .Net MVC中设置默认启动为某区域的视图
  4. 【图像提取】基于matlab DNA编解码多尺度形态学提取眼前节组织【含Matlab源码 1191期】
  5. linux拷贝数据库文件夹,手工拷贝数据库文件建立新的数据库实例过程
  6. 论如何高速下载磁力链接、电驴链接、种子文件里的资源
  7. 打印当前html页面 有背景,word打印时页面背景颜色怎么去掉
  8. Word中设置三栏式表格
  9. 读书笔记 - 说话之道 - 2
  10. 平面曲线的弧长和曲率
  11. 如何应对大数据的三大挑战?
  12. Spring Messaging 远程代码执行漏洞分析(CVE-2018-1270)
  13. 爆炸的符卡洋洋洒洒<每日一题>(01背包变种)
  14. 安科瑞数据中心EMS 系统解决方案
  15. 利用树莓派搭建家庭NAS简要
  16. vs2017无法下载安装文件,请检查internet连接
  17. 制作wordpress留言板
  18. Linux RocketMQ安装
  19. 电力英语与计算机考试准考证
  20. 基于业务驱动的企业安全架构(翻译,原作者John Sherwood ;Andrew Clark; David Lynas)---仅学习使用

热门文章

  1. 前天睡眠质量记录73
  2. ffmpeg之H264
  3. 热带雨林的昆虫繁殖题解
  4. 关于管道沉积Matlab算法框架分析
  5. SCI论文全攻略:选刊/投稿/修回与退稿(ZZ)
  6. Smooze for Mac(鼠标增强辅助软件)
  7. 职称计算机80分合格,达江发话:这样备考中级职称 考不了80分算我输!
  8. Good-Turing、Absolute、kneser-ney smooth
  9. 微信摇一摇动画效果加音效
  10. 保险业未来生态的起点与三条演化路径 | 李有龙生态矩阵