2014-03-19 53 views
0

我正在嘗試更改活動標題的字體,但它不起作用。請建議?我想這樣如何爲操作欄或活動標題Android設置自定義字體?

SpannableString s = new SpannableString("LOGIN"); 
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-Regular.ttf"); 
s.setSpan(tf, 0, s.length(), 
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

// Update the action bar title with the TypefaceSpan instance 
ActionBar actionBar = getActionBar(); 
actionBar.setTitle(s); 

回答

0

我知道這已被問很久以前,但這可能會幫助其他人。 顯然,儘管它將一個對象作爲其第一個參數(並且所有對象都是對象),但不能將字體對象用作setSpan方法的輸入,但要設置自定義字體,第一個參數需要爲TypefaceSpan對象:

s.setSpan(new TypefaceSpan(***), 0, s.length, flag); // whatever flag you are using 

是,TypefaceSpan它可以是一個字符串或Parcelable,而不是一個字體對象的問題,所以據我瞭解,你可以不設置是從例如資產創建自定義字體。 這是我堅持實際,因爲我正在尋找一個解決方案,而不是解決方案建議here由「notme」擴展TypefaceSpan對象,雖然它可能工作,但我正在尋找一個更簡單和優雅的方式來做這個。

祝你好運,快樂編碼。

相關問題