4

这是我的问题:

我希望能够在我的 android 应用程序中同时更改多个 TextView 的字体。

在 XML 文件中更改它似乎很复杂,扩展 TextView 类会带来内存问题(请参阅此处)。

所以我试图改变java代码中的字体,就像这样:

Typeface robotoThin = Typeface.createFromAsset(getAssets(),"fonts/Roboto-Thin-webfont.ttf");
TextView index_slogan = ((TextView)findViewById(R.id.index_slogan));
index_slogan.setTypeface(robotoThin);

这很好用,但我宁愿选择多个 Textview,findViewsWithText但我不明白它是如何工作的......

一些帮助将不胜感激。

编辑 :

好的,所以它不起作用,因为它是从 API 级别 14 开始实施的,而我正在尝试 API 级别 10 ......

您知道查找多个视图的任何其他功能吗?

4

2 回答 2

2

1-如何设置服装字体,设置服装字体的最佳方法是以编程方式进行,最好和更简单的方法是在你public static Typeface的 Api 或主类中注册,例如我已经Api.class满足了我制作的每件服装

添加

public static Typeface myfont;

然后当我调用Api.class我的活动创建时设置字体类型

Api.myfont = Typeface.createFromAsset(getAssets(),"fonts/Roboto-Thin-webfont.ttf");

现在您可以使用Api.myfont每个 textview 或 Edittext 或任何其他视图,例如

editText.setTypeface(Api.myfont);
myradio.setTypeface(Api.myfont);
mytextview.setTypeface(Api.myfont);
mycheckBox.setTypeface(Api.myfont);

2 - findViewsWithText()将获取视图的android:contentDescription="blabla"

于 2013-11-06T14:41:37.897 回答
0

最简单的方法是创建一个自定义TextView并在那里设置字体。这样,您甚至可以创建自定义样式,定义要使用的字体。

看看这个关于视图应该如何看待的答案和这个关于自定义样式的文档。

于 2013-11-06T14:25:11.463 回答