将Android Studio切换到project形式下进入到main目录,右键新建文件夹assets,再右键新建fonts文件夹,把准备好的.ttf文件放在该文件夹下。
在代码中添加如下代码即可:
tvUserName.setTypeface(Typeface.createFromAsset(mContext.getAssets(),"fonts/numbertype.ttf"));
就可以简单使用了
但是如果需要把整个App的字体都改变了,这时就需要全局更改了
1、首先重写Application,在onCreate()方法中执行下列代码:
@Override public void onCreate() { super.onCreate(); Typeface mTypeface = Typeface.createFromAsset(getAssets(), "fonts/numbertype.ttf"); try { Field field = Typeface.class.getDeclaredField("MONOSPACE"); field.setAccessible(true); field.set(null, mTypeface); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } }
2、在style.xml文件中自定义一个主题
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorTheme</item> <item name="colorPrimaryDark">@color/colorTheme</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:typeface">monospace</item> </style>
3、在AndroidManifest.xml文件中声明这个 AppTheme
<application android:name=".base.MyApplication" android:allowBackup="true" android:icon="@mipmap/icon_logo" android:label="@string/app_name" android:roundIcon="@mipmap/icon_logo" android:supportsRtl="true" android:theme="@style/AppTheme"> </application>