//我正在设置不同的TextView,其中包含各种内容作为文本,我正在做的是为所有textview设置字体。自定义字体也显示正常。
((TextView) findViewById (R.id.tutor_ps_tv_home)) .setTypeface(mFace);
((TextView) findViewById (R.id.tutor_ps_tv_plus)) .setTypeface(mFace);
((TextView) findViewById (R.id.tutor_ps_tv_settings)) .setTypeface(mFace);
((TextView) findViewById (R.id.tutor_ps_tv_undo)) .setTypeface(mFace);
((TextView) findViewById (R.id.tutor_ps_tv_cam)) .setTypeface(mFace);
((TextView) findViewById (R.id.tutor_ps_tv_share)) .setTypeface(mFace);
//是否可以为所有文本视图设置一个ID,以便更改我的字体,如下所示。
android:id="@+id/all_textview"
android:id="@id/all_textview"
android:id="@id/all_textview"
android:id="@id/all_textview"
//我将在我的活动中设置为
((TextView) findViewById (R.id.all_textview)) .setTypeface(mFace);
//让任何人知道任何更好的解决方案。
注意:我只想更改字体,而不是使用textview更改任何其他用途。
答案 0 :(得分:1)
是否可以为所有文本视图设置一个ID,以便更改我的字体,如下所示。
没有。 findViewById()
仍然会返回一个TextView
- 它只会是你给同名的人中的一个随机的。
在StackOverflow和其他地方有一些示例浮动内容视图的子项,找到符合条件的项目(例如,TextView
)并更改其Typeface
。
答案 1 :(得分:1)
看来这篇文章会对你有所帮助
Android: Want to set custom fonts for whole application not runtime
该帖子的答案描述了一种方法。您可以将所有文本视图作为vararg传递给函数并更改其中的字体
最后有11票(最后一个帖子)的回答。答案描述了使用具有此字体集的自定义扩展文本视图。我个人认为这是更好的方式。
这是另一篇文章
Is it possible to set a custom font for entire of application?
此处Tom
的回复帖子描述了我们如何为活动中的所有视图设置相同的字体
答案 2 :(得分:0)
我还认为你应该在style中设置你的typeFace并将它应用到你的应用程序或你的活动中,你也可以从textView继承你的风格,并默认将所有的textview设置为一个定义的样式。 / p>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
的问候。 :)
答案 3 :(得分:-1)
在res / values / styles.xml中定义样式并将其应用于您的Activity。有关详细信息,请参阅:http://developer.android.com/guide/topics/ui/themes.html
修改强>
我的错误。如果CommonsWare说我错了,那我错了。 : - )