更改应用程序的FontFace
问题:Change FontFace of application
原因:无法更改应用程序的字体。
解决方法:
1. 将.ttf文件放置在assets文件夹中,并将以下代码添加到Java文件中:
Typeface font = Typeface.createFromAsset(activity.getAssets(),"fonts/androidnation.ttf"); tv.setTypeface(font);
2. 通过XML设置:
参考链接:XML Typeface
问题出现的原因:想要改变应用程序的字体,但是没有找到相应的方法或工具来实现。
解决方法:创建一个名为"fonts"的文件夹,将想要使用的字体文件放入其中。然后创建一个名为"Typesafe.java"的类,在其中使用enum定义不同的字体样式。接着,在Activity中或者Utility类中创建一个方法,使用AssetManager来加载字体文件,并将其应用到TextView上。最后,在Activity中调用这个方法来改变字体。
整理后的文章如下:
想要改变应用程序的字体,需要做以下几个步骤。首先,在asset文件夹下创建一个名为"fonts"的文件夹,并将想要使用的字体文件放入其中。接下来,创建一个名为"Typesafe.java"的类,并使用enum定义不同的字体样式,例如"HELVETICANEUELTCOMBD"、"HELVETICANEUELTCOMBDCN"和"HELVETICANEUELTCOMCN"。然后,在Activity中或者Utility类中创建一个方法,命名为setTypeface,该方法接受三个参数:TextView、TypeSafe和AssetManager。在方法中,根据TypeSafe的值来加载不同的字体文件,并将其应用到TextView上。最后,在Activity中调用setTypeface方法来改变字体,示例代码如下:
public void setTypeface(TextView textView, TypeSafe type, AssetManager assetManager){ if (TypeSafe.HELVETICANEUELTCOMBD.equals(type)) { final Typeface typeface = Typeface.createFromAsset(assetManager, "fonts/HelveticaNeueLTCom-Bd.ttf"); textView.setTypeface(typeface); } else if (TypeSafe.HELVETICANEUELTCOMBDCN.equals(type)) { final Typeface typeface1 = Typeface.createFromAsset(assetManager, "fonts/HelveticaNeueLTCom-BdCn.ttf"); textView.setTypeface(typeface1); } }
在Activity中调用这个方法来改变字体,示例代码如下:
setTypeface(yourtextView, TypeSafe.HELVETICANEUELTCOMLT, getAssets());
通过以上步骤,就可以成功改变应用程序的字体了。