前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在线教育系统开发中,如何实现作业功能字体自定义?

在线教育系统开发中,如何实现作业功能字体自定义?

原创
作者头像
万岳教育系统
修改2020-08-18 15:02:54
5580
修改2020-08-18 15:02:54
举报

移动端在线教育系统开发过程中,作业功能中的原生字体,对于特殊符号的显示效果可能不够好,为此,开发人员可以用贴近书写的字体形式去显示这些符号,以万岳在线教育系统为例,如何从程序上实现呢?

1、将所需的字体拷贝进入assets文件夹

2、抽取公共静态方法获取字体。这里需要注意一下字体加载进来是比较消耗内存的,建议操作中保证一种字体只加载一次。

public static Typeface getTypeFace(Context context,String fileName){
    if(typefaceArrayMap==null){
       typefaceArrayMap=new ArrayMap<>();
    }
    Typeface typeface=typefaceArrayMap.get(fileName);
    if(typeface==null){
       typeface = Typeface.createFromAsset(context.getAssets(), "BrushScriptStd.ttf");
       if(typeface==null){
          DebugUtil.sendException("typeface 找不到资源");
       }else{
           typefaceArrayMap.put(fileName,typeface);
       }
    }
    return typeface;
}

3、在使用字体的时候尽量避免重复载入。如果频繁使用的话,建议将字体封装在自定义view里面。

Typeface typeface= ResourceUtil.getTypeFace(CommonAppContext.sInstance,"BrushScriptStd.ttf");
if(typeface!=null&&typeface!=tvHomeworkScore.getTypeface()){
   tvHomeworkScore.setTypeface(typeface);
}

4、确定不使用的时候可以释放掉字体,减轻内存的压力。

public static void clearTypeface(){
    if(typefaceArrayMap!=null){
       typefaceArrayMap.clear();
    }
}

以上就是在线教育系统开发过程中,作业功能字体自定义的过程。

声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档