我在Android应用程序中使用自定义字体的方式是使用以下代码
TextView txt = (TextView) findViewById(R.id.textView1);
Typeface font = Typeface.createFromAsset(getAssets(), "ABCD.TTF");
txt.setTypeface(font);
我已将ABCD.TTF存储在资产文件夹中..
和你的工作,没有任何问题..事情是我必须为每一个文本,按钮等添加上面的代码我... ...如果有很多文本和它真的是一个耗时的事情各种活动中的按钮:(
我需要的是另一种方法,这是最容易实现的方法..
就像使用一个不像上面那样重复的代码块来改变所有东西的字体..
否则在 xml
中执行此操作或者有没有办法将我们的自定义字体添加到 normal,sans,serif,monospace 所在的内置字体中。
答案 0 :(得分:1)
就像使用一个不像上面那样重复的代码块来改变所有东西的字体..
在各种StackOverflow答案中,有几种方法可以解决这个问题。这是迭代ViewGroup
的子项并将Typeface
应用于实现TextView
的所有项:
- https://stackoverflow.com/a/7580370/115145
否则在xml
中执行此操作
抱歉,这不受支持。
或者有没有办法将我们的自定义字体添加到内置字体中,其中存在normal,sans,serif,monospace。
抱歉,除非您构建自己的固件,否则不支持此功能。
答案 1 :(得分:0)
You can use simple EasyFonts third party library to set variety of custom font to your TextView
. By using this library you should not have to worry about downloading and adding fonts into the assets/fonts folder. Also about Typeface object creation.
Simply:
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));