我使用下面的方法来获得自定义字体。现在,每当我必须用其他字体替换它时,我必须在代码中的任何地方更改路径。有没有办法在一个地方概括路径?在string.xml中使用它将无法正常工作。
Typeface buttonfont = Typeface.createFromAsset(this.getAssets(), "fonts/omnesreg.ttf");
button.setTypeface(buttonfont);
提前致谢
答案 0 :(得分:1)
为项目添加帮助程序类,例如Utils.java
并将字体路径定义为公共变量
Utils.java:
public static final String FONT_OMNESREG = "fonts/omnesreg.ttf";
然后在项目的其他地方,从Utils.java引用它。例如,在MainActivity.java中,您可以按如下方式引用它:
Typeface buttonfont = Typeface.createFromAsset(getAssets(), Utils.FONT_OMNESREG);
在string.xml中使用它不会起作用。
您也可以在res/values/strings.xml
<string name="font_path_omnesreg">fonts/omnesreg.ttf</string>
使用如下:
Typeface buttonfont = Typeface.createFromAsset(getAssets(), getString(R.string.font_path_omnesreg));
希望这有帮助。