Android开发,关于Application的初始化的问题
2.创建一个继承自Application的类,放上TypeFace的变量。publicstaticTypefaceTypeFaceYaHei;3.在这个类的初始化里对其赋...
2. 创建一个继承自Application的类,放上TypeFace的变量。
public static Typeface TypeFaceYaHei;
3. 在这个类的初始化里对其赋值,注意字体文件路径要写对。
TypeFaceYaHei = Typeface.createFromAsset(getAssets(), "fonts/YaHei.ttf");
4. 关键的地方来了,我将系统的serif的字体替换成微软雅黑
try
{
Field field = Typeface.class.getDeclaredField("SERIF");
field.setAccessible(true);
field.set(null, TypeFaceYaHei);
}
catch (NoSuchFieldException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
求帮忙写一下这个代码!!谢谢 展开
public static Typeface TypeFaceYaHei;
3. 在这个类的初始化里对其赋值,注意字体文件路径要写对。
TypeFaceYaHei = Typeface.createFromAsset(getAssets(), "fonts/YaHei.ttf");
4. 关键的地方来了,我将系统的serif的字体替换成微软雅黑
try
{
Field field = Typeface.class.getDeclaredField("SERIF");
field.setAccessible(true);
field.set(null, TypeFaceYaHei);
}
catch (NoSuchFieldException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
求帮忙写一下这个代码!!谢谢 展开
2个回答
2015-11-22 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
Application的初始化是在整个App启动第一个被实例化的类,一般会做一些全局的操作,比如会初始化一些全局变量饥卖睁,当然你想操作它必须要复写它,并且在配置文件AndroidXML中进烂岁行配置配蠢,只要在Application标签下,添加name="你的Application名称"
展开全部
你看的是这篇博文吧
http://m.blog.csdn.net/blog/u014685632/41676579
文章里写的很清楚了,要自定义Application类,然后上面那些代码统统写在自定义Application的onCreate方法里
这种方法原理是用反射替换掉默认字体,但前提是要先搜顷逗把默认字体指定为serif
这种方法确实可行,但是比较复杂,而且反射非世卖常乎配影响性能,尽量少用,尤其是写在Application的onCreate方法里,直接后果就是开启软件的时候会黑屏一会才显示主界面
如果你控件少,跟在之前那个问题里我的回答一样,初始化全局静态的TypeFace变量以后,直接把这个变量传给TextView就可以了
控件多的话,直接自定义TextView控件,在构造方法里把字体设置为全局的TypeFace就可以了,后面所有的TextView都使用这个自定义TextView
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询