3

我发现在我的 android 应用程序上使用自定义字体的方式是使用下面的代码

TextView txt = (TextView) findViewById(R.id.textView1);  
        Typeface font = Typeface.createFromAsset(getAssets(), "ABCD.TTF");  
        txt.setTypeface(font);

我已将 ABCD.TTF 存储在资产文件夹中。

是的,它可以工作,没有问题。问题是我必须为我拥有的每一个文本、按钮等添加上面的代码。如果有很多不同的文本和按钮,这真的很耗时活动 :(

我需要的是一种替代方法,一种最简单的方法。

就像使用单个代码块而不是像上面那样重复来更改所有东西的字体..

否则在xml中执行

或者有什么方法可以将我们的自定义字体添加到正常、无、衬线、等宽存在的内置字体中。

4

2 回答 2

1

就像使用单个代码块而不是像上面那样重复来更改所有东西的字体..

在各种 StackOverflow 答案中已经解决了几种方法。这是迭代 a 的子级ViewGroup并将 aTypeface应用于所有实现的TextView
- https://stackoverflow.com/a/7580370/115145

否则在 xml 中执行

抱歉,不支持此功能。

或者有什么方法可以将我们的自定义字体添加到正常、无、衬线、等宽存在的内置字体中。

抱歉,不支持此功能,除非您构建自己的固件。

于 2012-06-17T15:55:43.160 回答
0

您可以使用简单的EasyFonts第三方库为您的TextView. 通过使用这个库,您不必担心下载字体并将其添加到 assets/fonts 文件夹中。还有关于字体对象的创建。

简单地:

TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));
于 2015-06-25T18:29:42.253 回答