線上教育系統開發中,如何實現作業功能字型自定義?

萬嶽教育系統發表於2020-08-18

移動端線上教育系統開發過程中,作業功能中的原生字型,對於特殊符號的顯示效果可能不夠好,為此,開發人員可以用貼近書寫的字型形式去顯示這些符號,以萬嶽線上教育系統為例,如何從程式上實現呢?

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

以上就 是線上教育系統開發 過程中,作業功能字型自定義的過程。

宣告:以上內容為作者本人原創,未經作者本人同意,禁止轉載,否則將追究相關法律責任。 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69968464/viewspace-2712592/,如需轉載,請註明出處,否則將追究法律責任。

相關文章