項目中使用到指定顯示字型,是以也看了下,網上有很多例子總結有很多種,這裡主要研究使用代碼設定字型中産生的問題。
使用方法(字型庫放在assets/fonts/下面)
TextView tv=findViewById(R.id.tv);
AssetManager mgr = getAssets();
Typeface tf = Typeface.createFromAsset(mgr, "fonts/myfont.ttf");
tv.setTypeface(tf);
其實就這幾句代碼,也不複雜,在一般情況下這個是沒問題的。
但是有一種情況,即手機在root情況下,使用字型大師 或者之類的軟體來改變系統的所有字型,也就是說你的app裡面的字型都變成了被字型大師指定的字型,在有時候是比較嚴格的情況下是不允許這樣的,那怎麼辦呢?這個地方也可以使用setTypeface()方法來做。
字型庫可以從網絡上下載下傳×××.ttf,然後使用以上方法加載即可。
當然很多情況下都是我們不需要這麼大的字型庫,這些字型庫動不動就是幾M多,而我們使用到的字可能就隻有幾個,那這種情況怎麼辦呢?
其實也很簡單,我們可以自己制作字型庫,然後放進去不就可以了。
那怎麼來制作呢?
第一:下載下傳字型制作軟體,FontCreatorSetuphh(這個感覺相對好用)
第二:随便下載下傳一個字型庫,也可以從手機的system/fonts/DroidSansFallback.ttf 複制到桌面準備使用。
第三:打開軟體把DroidSansFallback.ttf 打開,然後看到很多字,那怎麼找到我們需要的字呢?當然是ctrl+f 搜尋啦,這裡搜尋隻能根據Unicode編碼搜尋,是以我們在度娘那裡把文字“我的自制字型”幾個制轉成Unicode編碼,然後複制對應的編碼搜尋。
第四:建立一個ttf檔案,然後把我們在DroidSansFallback這裡找到需要的字複制到我們建立的字型庫檔案中。
第五:選擇我們複制過來的字,右鍵屬性–》映射—》把那個Unicode碼添加到下面的映射表中,把該字預設映射的Unicode删除,不然找不到該字,也就導緻不能指定成功。這一步很重要。自制字型庫主要就是要注意這一步驟。
到這一步就完成了。

* ps:再次聲明對應的字需要對應的Unicode編碼android系統才能尋到并且适配到該字否則無法适配。*