2012-04-16 119 views
5

我知道如何將自定義字體設置爲TextView。但是如何通過theme/style/xml添加自定義字體?Android:如何將自定義字體添加到theme/style/xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="customfontforlistview" parent="@android:style/Widget.ListView"> 
     <item name="android:textColor">#000000</item> 
     <item name="android:typeface">HOW_TO_CUSTOM_FONT</item> 
    </style> 
</resources> 

請提供了一個解決方案。

回答

3

據我所知,沒有一個好方法可以做到這一點。我所知道的最好的方法是創建一個簡單的子類,它看起來是這樣的:

public class CustomTextViewNormal extends TextView 
{ 
    public CustomTextViewNormal(Context context) 
    { 
     super(context); 
     init(); 
    } 

    public CustomTextViewNormal(Context context, AttributeSet attrs) 
    { 
     super(context, attrs); 
     init(); 
    } 

    public CustomTextViewNormal(Context context, AttributeSet attrs, int defStyle) 
    { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    public void init() 
    { 
     Typeface tf = Typeface.createFromAsset(getContext().getAssets(), 
       "fonts/HelveticaNeue.ttf"); 
     setTypeface(tf); 
    } 
} 

如果你做這個,你可以使用此自定義文本視圖中的XML佈局和你基本上有功能相同雖然,雖然,雖然,一點點sloppier。

+0

這不是一個downvote!正確答案。至少有一種方法如何做到這一點 – longilong 2013-05-22 11:36:59

+0

android:textStyle =「bold」對此繼承的textview無效:( – 2013-09-28 20:20:55

相關問題