2012-04-16 120 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

相关问题