Android中字体设置Font

原创 2015年07月08日 14:03:08

1.一般使用默认字体,可以使用以下四种安卓系统提供的字体。

     android:typeface="normal"
     android:typeface="sans"
     android:typeface="serif"
     android:typeface="monospace"  

2.如果需要设置其他的字体,则需要先得到字体的 ttf文件,例如 Arial.ttf文件等。
把ttf文件放在assets\fonts目录下。
public class FontTest {
    
    public static void changeFont(ViewGroup root,Activity act){
        Typeface tf = null;
        //创建Typeface对象
        tf = Typeface.createFromAsset(act.getAssets(), "fonts/Arial.ttf");
        for(int i=0;i<root.getChildCount();i++){
            View v = root.getChildAt(i);
            if(v instanceof TextView){
                ((TextView)v).setTypeface(tf);
            }
            else if(v instanceof EditText){
                ((EditText)v).setTypeface(tf);
            }
            else if(v instanceof ViewGroup){
                changeFont((ViewGroup)v, act);
            }
        }
    }
}  

public class MainActivity extends Activity {
    LinearLayout rootview = null;
    TextView world1 = null;
    TextView world2 = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rootview = (LinearLayout)findViewById(R.id.rootview);
        FontTest.changeFont(rootview, this);
//        Typeface tf = null;
//        tf = Typeface.createFromAsset(this.getAssets(), "fonts/Arial.ttf");
//        world1 = (TextView)findViewById(R.id.world1);
//        world2 = (TextView)findViewById(R.id.world2);
//        world2.setTypeface(tf);
    }


Qt移植字体解决方案:Android/ios/嵌入式通用

在Qt for Android开发中发现有些手机刷机后会出现字体不再是安卓默认字体DroidSansFallback,由于Qt开发的安卓应用会使用手机默认的字体,导致同一款APP现在不同手机上字体种类...
  • hechao3225
  • hechao3225
  • 2016年12月29日 15:48
  • 749

u3d bitmapfont 设置美术字体

1 安装 bitmapfont 2 edit->open image manage  import 导入美术的字体 3 options->virsualisz 查看确认是否是导入的字体 ctr...
  • yujun_huoxu
  • yujun_huoxu
  • 2017年09月05日 18:10
  • 156

UI- font 字体设置

label.font = [UIFont fontWithName:@"Arial-BoldItalicMT" size:24];   字体名如下: Font Family:...
  • yuhao111122
  • yuhao111122
  • 2015年11月30日 17:01
  • 200

QML 的 font 与 Canvas 的中 font

QML 的 font 与 Canvas 的中 font
  • qyvlik
  • qyvlik
  • 2016年05月26日 00:37
  • 1244

创建一个字体wx.Font

字体是类wx.Font的实例。构造函数如下: wx.Font(pointSize, family, style, weight, underline=False,faceName=””, enc...
  • Tony_Wong
  • Tony_Wong
  • 2014年01月06日 22:49
  • 2760

css属性字体(font)样式使用详解

现在主要设置的字体样式种类有以下五种 1、font-style:指定文本字体样式 itailc:指定为斜体 oblique:对于没有设计过斜体样式的文字强行用代码使其倾斜 2、font-var...
  • qq_24928451
  • qq_24928451
  • 2015年04月16日 21:48
  • 1234

matplotlib 字体改为 Times New Roman

测试环境:ubuntu 16.04 ,python2.7 将全局字体改为Times New Roman: import matplotlib.pyplot as plt plt.rc('font'...
  • ginynu
  • ginynu
  • 2017年04月26日 17:10
  • 793

C#字体的设置

/* *程序的版权和版本声明部分: *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作...
  • u012369373
  • u012369373
  • 2014年11月06日 18:00
  • 2171

emacs 字体配置

;; 方法一 能够执行(from:http://bugway.appspot.com/?p=945801) ;; overide the default changing font size bind...
  • fengzizhuang
  • fengzizhuang
  • 2013年07月27日 10:20
  • 8791

Python(Pygame)字体设置

使用字体模块 使用系统自带的字体:my_font = pygame.font.SysFont("arial", 16) 第一个参数是字体名,第二个自然就是大小,一般来说“Arial”字体在很多系统...
  • zengxiantao1994
  • zengxiantao1994
  • 2017年02月28日 12:31
  • 2738
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中字体设置Font
举报原因:
原因补充:

(最多只允许输入30个字)