时间:2021-05-21
android系统内置字体
android 系统本身内置了一些字体,可以在程序中使用,并且支持在xml配置textView的时候进行修改字体的样式。支持字段为android:textStyle ,android:typeface, android:fontFamily,系统内置了normal|bold|italic三种style, 内置了normal,sans,serif,monospace,几种字体(实测这几种字体仅英文有效),typace和fontFamily功能一样。
使用自定义的字体
以上的方式可以改变字体的样式,还不是真正的自定义。android系统支持TypeFace,即ttf的字体文件。我们可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体。
第一步,在assets目录下新建fonts目录,把ttf字体文件放到这。
第二步,程序中调用:
注意ttf文件命名不能使用中文,否则可能无法加载。
对于需要使用比较多的地方,可以写一个TextView的子类来统一处理。
public class CustomTextView extends TextView { public CustomTextView(Context context) { super(context); // TODO Auto-generated constructor stub } public CustomTextView(Context context, AttributeSet attrs) { super(context,attrs); // TODO Auto-generated constructor stub } public CustomTextView(Context context, AttributeSet attrs,int defStyle) { super(context,attrs,defStyle); // TODO Auto-generated constructor stub } public void setTypeface(Typeface tf, int style) { super.setTypeface(AppContext.getInstance().getTypeface()); } }//初始化自定义字体
typeface = Typeface.createFromAsset(getAssets(), "fonts/fzlt.ttf");
法还是有点缺点的:只能替换一类控件的字体,如果需要替换Button或EditText控件的字体,需要以相同的方式自定义这些控件,这样工作量大,如何高效替换整个app中的字体,见下方参考资料。
在webview中使用自定义的字体
对于本地的网页,在asset目录放字体文件,并在css中添加以下内容,自定义一个字体face,并且在需要的地方使用这个字体face即可。
对于在线的网页,则需要把字体文件放到服务器,使用同样的方式定义字体face,应用到每个地方。
为了减少网页或者说服务器端的工作,可以使用本地注入的方式注入font-face的css,并对整个网页进行样式替换。给webview自定义webViewClient,重写onPageFinish,在其中添加如下内容:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Android字体设置及Roboto字体使用方法。分享给大家供大家参考。具体分析如下:一、自定义字体1.androidTypeface使用TTF字
在Android开发中,往往要用到自定义的控件来实现我们的需求或效果。在使用自定义控件时,难免要用到自定义属性,那怎么使用自定义属性呢?在文件res/value
本文实例讲述了Android编程实现自定义进度条颜色的方法。分享给大家供大家参考,具体如下:android自定义进度条颜色先看图基于产品经理各种自定义需求,经过
前言:前面几篇讲了自定义控件绘制原理Android自定义控件基本原理详解(一),Android自定义控件之自定义属性(二),Android自定义控件之自定义组合
本文实例讲述了Android自定义控件样式的方法。分享给大家供大家参考,具体如下:Android控件样式自定义是用定义在drawable文件夹下的XML文件实现