Android 編程下字庫(kù)的使用及注意事項(xiàng)
下面來(lái)看一下代碼實(shí)現(xiàn)過(guò)程,在代碼實(shí)現(xiàn)實(shí)現(xiàn)之前,我們先來(lái)看下不同字庫(kù)的顯示效果,下圖中第一張圖:SIMKAI.TTF 簡(jiǎn)體字-楷體-常規(guī)、第二張圖:MSYH.TTF 簡(jiǎn)體字-微軟雅黑-常規(guī)。


package cn.sunzn.fonts;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tv_title;
private TextView tv_author;
private TextView tv_line1;
private TextView tv_line2;
private TextView tv_line3;
private TextView tv_line4;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 在 assets 目錄下創(chuàng)建 fonts 文件夾并放入要使用的字體文件(**.ttf)并提供相對(duì)路徑給
* createFromAsset(AssetManager mgr, String path) 來(lái)創(chuàng)建 Typeface 對(duì)象,再通
* 過(guò)TextView.setTypeface(Typeface tf) 指定文本顯示的字體。
*/
Typeface face = Typeface.createFromAsset(getAssets(),"fonts/SIMFANG.TTF");
tv_title = (TextView) findViewById(R.id.tv_title);
tv_title.setTypeface(face);
tv_author = (TextView) findViewById(R.id.tv_author);
tv_author.setTypeface(face);
tv_line1 = (TextView) findViewById(R.id.tv_line1);
tv_line1.setTypeface(face);
tv_line2 = (TextView) findViewById(R.id.tv_line2);
tv_line2.setTypeface(face);
tv_line3 = (TextView) findViewById(R.id.tv_line3);
tv_line3.setTypeface(face);
tv_line4 = (TextView) findViewById(R.id.tv_line4);
tv_line4.setTypeface(face);
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
最后,還需要補(bǔ)充說(shuō)明一下:雖然采用這種方式可以實(shí)現(xiàn)自己想要的顯示效果,但是在采用這種方法之前開(kāi)發(fā)人員還是需要考慮下性能消耗和運(yùn)行環(huán)境以及自己 APP 的風(fēng)格,然后再做出對(duì)應(yīng)的選擇。
原因有以下幾點(diǎn):
•字庫(kù)文件的大?。阂?yàn)樽謳?kù)的尺寸少則幾兆,多則幾十兆,文件打包的時(shí)候?qū)?*.ttf 格式的文件壓縮率很低,所以會(huì)無(wú)形中增大 APP 的體積。
•運(yùn)行環(huán)境的考慮:如果你的應(yīng)用面向的是高版本的運(yùn)行環(huán)境,可以考慮使用這種方法,如果用戶(hù)的運(yùn)行環(huán)境是 Android 2.2 需要放棄該方法。
•應(yīng)用風(fēng)格的考慮:如果你的應(yīng)用既面向高版本運(yùn)行環(huán)境,并且你的應(yīng)用中統(tǒng)一使用指定的字體,可以考慮使用該方法;若是單單為了應(yīng)用中的某幾個(gè)字的顯示效果就使用字庫(kù),則會(huì)得不償失。
- Android Studio 導(dǎo)入開(kāi)源項(xiàng)目的正確姿勢(shì)及注意事項(xiàng)
- Android Studio3.0升級(jí)后使用注意事項(xiàng)及解決方法
- Android 程序執(zhí)行Linux命令的解決方法及注意事項(xiàng)
- 將Eclipse工程轉(zhuǎn)Android Studio工程的步驟與注意事項(xiàng)
- AndroidStudio升級(jí)到3.0的新特性和注意事項(xiàng)小結(jié)
- 詳解Android Service 使用時(shí)的注意事項(xiàng)
- Android 中ViewPager中使用WebView的注意事項(xiàng)
- Android TimerTask 的簡(jiǎn)單應(yīng)用及注意事項(xiàng)
- Android 如何使用log4j及注意事項(xiàng)
- Android集成百度地圖開(kāi)發(fā)流程和注意事項(xiàng)
- Android onNewIntent()觸發(fā)機(jī)制及注意事項(xiàng)
- Android Studio添加第三方庫(kù)的注意事項(xiàng)
- Android 程序申請(qǐng)權(quán)限注意事項(xiàng)
- Android Service自啟動(dòng)注意事項(xiàng)分析
- 關(guān)于Android WebView的loadData方法的注意事項(xiàng)分析
- Android NDK中socket的用法以及注意事項(xiàng)分析
- Android生存指南之:開(kāi)發(fā)中的注意事項(xiàng)
- 60條Android開(kāi)發(fā)注意事項(xiàng)與經(jīng)驗(yàn)總結(jié)
相關(guān)文章
Android性能優(yōu)化getResources()與Binder導(dǎo)致界面卡頓優(yōu)化
這篇文章主要為大家介紹了Android性能優(yōu)化getResources()與Binder導(dǎo)致界面卡頓優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Android中的腦殘?jiān)O(shè)計(jì)總結(jié)
本篇文章是對(duì)Android中的腦殘?jiān)O(shè)計(jì)進(jìn)行了分析與介紹,需要的朋友參考下2013-05-05
Android實(shí)現(xiàn)延遲的幾種方法小結(jié)
這篇文章主要介紹了Android實(shí)現(xiàn)延遲的幾種方法,結(jié)合實(shí)例總結(jié)了Android實(shí)現(xiàn)延遲的幾種常見(jiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-02-02
Android實(shí)現(xiàn)歌詞滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)歌詞滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Android對(duì)話框自定義標(biāo)題 對(duì)話框標(biāo)題美化操作
這篇文章主要為大家詳細(xì)介紹了Android對(duì)話框自定義標(biāo)題的相關(guān)資料,如何對(duì)對(duì)話框標(biāo)題進(jìn)行美化操作,感興趣的小伙伴們可以參考一下2016-08-08
android實(shí)現(xiàn)滑動(dòng)標(biāo)簽頁(yè)效果的代碼解析
這篇文章主要介紹了android實(shí)現(xiàn)滑動(dòng)標(biāo)簽頁(yè)效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Android開(kāi)發(fā)中Activity之間切換出現(xiàn)短暫黑屏的解決方法
這篇文章主要介紹了Android開(kāi)發(fā)中Activity之間切換出現(xiàn)短暫黑屏的解決方法,較為詳細(xì)的分析了Android中Activity之間切換出現(xiàn)短暫黑屏的原因與解決方法,需要的朋友可以參考下2016-02-02
Android實(shí)現(xiàn)打開(kāi)各種文件的intent方法小結(jié)
這篇文章主要介紹了Android實(shí)現(xiàn)打開(kāi)各種文件的intent方法,結(jié)合實(shí)例形式總結(jié)分析了Android針對(duì)HTML、圖片文件、pdf文件、文本文件、音頻文件、視頻文件等的intent打開(kāi)方法,需要的朋友可以參考下2016-08-08
Android AsyncTask用法巧用實(shí)例代碼
這篇文章主要介紹了Android AsyncTask用法巧用實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01
Android自定義ImageView實(shí)現(xiàn)在圖片上添加圖層效果
這篇文章給大家主要介紹了利用Android自定義ImageView如何實(shí)現(xiàn)在圖片上添加圖層的效果,實(shí)現(xiàn)的效果類(lèi)似在圖片增加秒殺、搶光等標(biāo)簽圖片,對(duì)大家開(kāi)發(fā)的時(shí)候具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11

