如何维护整个应用的自定义字体。而不是从Android中的资产加载文件。例如下面的
TextView tv =(TextView)findViewById(R.id.textview1);
Typeface type =Typeface.createfromAssets(this,"custom.ttf");
tv.setTypeface(type);
答案 0 :(得分:1)
创建一个类似'CustomTextView'的新类 它扩展了TextView。
默认情况下,将字体设置为此CustomTextView并使用CustomTextView 在你的应用程序的其余部分。
答案 1 :(得分:1)
您可以使用书法(https://github.com/chrisjenx/Calligraphy)
为应用程序定义自定义字体dependencies {
...
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
...
}
将自定义字体添加到assets/fonts/
文件夹
使用CalligraphyConfig在#onCreate()方法的Application类中定义默认字体。
@Override
public void onCreate() {
super.onCreate();
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/Roboto-RobotoRegular.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
//....
}
注意:您不需要定义CalligraphyConfig,但库不会应用默认字体并使用R.id.fontPath的默认属性。
在你想要新字体的应用的每个Activity
中执行此操作:
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
你很高兴去!