2011-03-09 130 views
2

我正在爲我的應用程序定製按鈕,並且想要設置它們在自定義按鈕類(擴展按鈕)中使用的字體。我可以設置從主類的字體用下面的代碼:更改自定義按鈕類中的按鈕字體Android

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Korean_Calligraphy.ttf"); 
custom_button.setTypeface(font); 

,工作正常,但我有多個按鈕應用這也和整齊而簡潔的代碼起見,寧願一切都被內部處理按鈕類本身。所以有兩個問題:

  • 如何從我的自定義按鈕類中訪問Button的TextView?
  • 如何引用字體文件,因爲它似乎不讓我在按鈕類中使用getAssets()?

非常感謝。

回答

3

如何從我的自定義按鈕

Button內訪問Button TextView是被一個TextView所以你不需要在這裏做什麼特別的事情。只需使用常規文本視圖就可以使用按鈕。

如何引用字體文件,因爲它似乎不讓我在按鈕類中使用getAssets()?

獲取一個Context實例,並使用其getAssets()

Context context = getContext(); 
context.getAssets()... //do anything you need 
+0

簡單哎?感謝您的幫助 - 非常棒:)另外一個問題。我在我的自定義按鈕的onDraw方法中設置了BackgroundDrawables和字體,並且在我的自定義內容彈出之前,我會看到默認的藝術字體和字體。任何方式可以避免這種情況發生? – 2011-03-09 17:20:51

+1

@Emma Assin在onDraw()中做這件事聽起來沒有任何性能。你必須在你的視圖的構造函數中只做一次。 – 2011-03-09 23:05:51

+0

謝謝,是的,我已經把它移到了構造函數中,但是仍然在我的藝術加載之前得到默認藝術的簡短閃光。任何想法如何擺脫? – 2011-03-10 02:08:01