2013-07-25 48 views
4

好吧,我知道如何更改我的应用程序中单个文本框上使用的字体,但我希望我的应用程序中的所有文本使用此自定义字体和颜色,目前唯一的方法可以想到做他的是参考每个盒子并将它们设置为适当的字体和颜色。虽然它是可行的,但它似乎是一种笨重的方法,有没有更好的方法?更改默认字体为Android应用程序

+0

,我认为你必须编写自己的风格和/或主题。看到这个有用的答案:http://stackoverflow.com/questions/8787690/adding-custom-font-to-theme-in-android或http://stackoverflow.com/questions/4395309/android-want-to-set -custom-fonts-for-whole-application-not-runtime或者这个http://stackoverflow.com/questions/2973270/using-a-custom-typeface-in-android。 – JJ86

回答

8

您可以创建自定义的TextView并将它改写到任何地方。

public class TypefacedTextView extends TextView { 

    public TypefacedTextView(Context context, AttributeSet attrs) { 
     super(context, attrs); 

     Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName); 
     setTypeface(typeface); 
    } 
} 

内view.xml用

<packagename.TypefacedTextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="Hello"/> 
+1

我刚刚提交相同的答案:) – gunar

2

把你不同的字体文件夹资产...

TextView mytextView=(TextView)findViewById(R.id.txtbx); 
Typeface fonttype=Typeface.createFromAsset(getAssets(),"fonts/fontname.ttf"); 
mytextView.setTypeface(fonttype);