在線教育系統開發中,如何實現做業功能字體自定義?

移動端在線教育系統開發過程當中,做業功能中的原生字體,對於特殊符號的顯示效果可能不夠好,爲此,開發人員能夠用貼近書寫的字體形式去顯示這些符號,以萬嶽在線教育系統爲例,如何從程序上實現呢?
一、將所需的字體拷貝進入assets文件夾。
在線教育系統開發
二、抽取公共靜態方法獲取字體。這裏須要注意一下字體加載進來是比較消耗內存的,建議操做中保證一種字體只加載一次。ide

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;
}

三、在使用字體的時候儘可能避免重複載入。若是頻繁使用的話,建議將字體封裝在自定義view裏面。字體

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

四、肯定不使用的時候能夠釋放掉字體,減輕內存的壓力。code

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

以上就是在線教育系統開發過程當中,做業功能字體自定義的過程。blog

相關文章
相關標籤/搜索