2013-08-21 94 views
1

我想知道是否可以在styles.xml文件中爲所有TextView s定義嵌入字體。與整個項目共享嵌入字體的最佳做法

我知道這不是因爲嵌入式字體必須在每個元素上以編程方式設置。

我使用這樣做的代碼如下:

Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/myfont.ttf"); 
TextView tv = (TextView) findViewById(R.id.myTextView); 
tv.setTypeface(tf); 

現在,我想,如果我能夠在Activity一勞永逸創建資產的字體,一個Application單或任何持久性足以讓我可以在每個View定義中重複使用它來設置我想要的每個元素上的字體。

任何意見將不勝感激!

[編輯] 對毛的解決方案上/下方任何評論將非常歡迎!

+0

相當類似的問題:http://stackoverflow.com/a/5185587/2636001。如果你只有'TextView's,請參閱[這個答案](http://stackoverflow.com/a/5185587/2636001)。 – dst

+0

不錯的「訣竅」。雖然我喜歡毛的回答。工作oob。任何評論他的解決方案將如何穩定是值得歡迎的! –

回答

1

您可以在onCreate方法中聲明一個包含typeFace和Instanciate的公共靜態變量(在您的主要活動中)。

public static Typeface tf; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    tf = Typeface.createFromAsset(this.getAssets(),"fonts/yourFont.ttf"); 
} 
相關問題