Paint---Typeface

Android系统默认支持三种字体,分别为:“sans”,“serif”,“monospace”。
android.graphic.typeface字体类:
本类的常量静态定义,首先为字体类型(typeface)名称

字体类型(typeface)含义
Typeface DEFAULT默认正常字体对象
Typeface DEFAULT_BOLD默认的字体对象,注意:这实际上不可能是粗体的,这取决于字体设置。 由getStyle()来确定
Typeface MONOSPACEmonospace 字体风格
Typeface SANS_SERIFsans serif字体风格
TypefaceSERIFserif字体风格
字体风格(style)含义
BOLD加粗
BOLD_ITALIC粗斜体
ITALIC斜体
NORMAL正常

设置TextView的字体可以通过TextView中的setTypeface方法来指定一个Typeface对象,因为Android的字体类
比较简单,我们列出所有成员方法:

  • static Typeface create(Typeface family, int style)//静态方法,参数一为字体类型这里是Typeface的静态定义,如宋体,参数二风格,如粗体,斜体
  • static Typeface createFromAsset(AssetManager mgr, String path)//静态方法,参数一为AssetManager对象,主要用于从APK的assets文件夹中取出字体,参数二为相对于Android工程下的assets文件夹中的外挂字体文件的路径。

  • static Typeface createFromFile(File path)//静态方法,从文件系统构造一个字体,这里参数可以是sdcard中的某个字体文件
  • static Typeface createFromFile(String path) //静态方法,从指定路径中构造字体

  • static Typeface defaultFromStyle(int style) //静态方法,返回默认的字体风格

  • int getStyle() //获取当前字体风格

  • final boolean isBold() //判断当前是否为粗体

  • final boolean isItalic() //判断当前风格是否为斜体

代码时间到了:
这里写图片描述

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        LinearLayout linearlayout = (LinearLayout) findViewById(R.id.llayout);
        for(int i=0;i<21;i++){
            TextView textView = new TextView(this);
            TextPaint paint = textView.getPaint();
            textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT));
            String str;
            Typeface typeface;
            switch (i) {
            case 0:
                str="hello_world-----default";
                typeface=Typeface.DEFAULT;
//              typeface=Typeface.create(Typeface.DEFAULT, Typeface.NORMAL);
                break;
            case 1:
                str="hello_world-----DEFAULT_BOLD";
                typeface=Typeface.DEFAULT_BOLD;
                //必须要用paint设置Typeface.DEFAULT_BOLD才起作用
                paint.setTypeface(Typeface.DEFAULT_BOLD);

//              typeface=Typeface.create(Typeface.DEFAULT_BOLD, Typeface.NORMAL);
                break;
            case 2:
                str="hello_world-----MONOSPACE";
                typeface=Typeface.MONOSPACE;
//              typeface=Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL);
                break;
            case 3:
                str="hello_world-----SANS_SERIF";
                typeface=Typeface.SANS_SERIF;
//              typeface=Typeface.create(Typeface.SANS_SERIF, Typeface.NORMAL);
                break;
            case 4:
                str="hello_world-----SERIF";
                typeface=Typeface.create(Typeface.SERIF, Typeface.NORMAL);
                break;
            case 5:
                str="hello_world-----Action_Man_Bold_Italic";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Action-Man/Action_Man_Bold_Italic.ttf");
                break;
            case 6:
                str="hello_world-----Action_Man_Bold";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Action-Man/Action_Man_Bold.ttf");
                break;
            case 7:
                str="hello_world-----Action_Man_Italic";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Action-Man/Action_Man_Italic.ttf");
                break;
            case 8:
                str="hello_world-----Action_Man";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Action-Man/Action_Man.ttf");
                break;
            case 9:
                str="hello_world-----SF_Arch_Rival_Bold_Italic";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/arch_rival/SF_Arch_Rival_Bold_Italic.ttf");
                break;
            case 10:
                str="hello_world-----SF_Arch_Rival_Bold";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/arch_rival/SF_Arch_Rival_Bold.ttf");
                break;
            case 11:
                str="hello_world-----SF_Arch_Rival_Italic";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/arch_rival/SF_Arch_Rival_Italic.ttf");
                break;
            case 12:
                str="hello_world-----SF_Arch_Rival";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/arch_rival/SF_Arch_Rival.ttf");
                break;
            case 13:
                str="hello_world-----JUICE_Bold_Italic";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Juice/JUICE_Bold_Italic.ttf");
                break;
            case 14:
                str="hello_world-----JUICE_Bold";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Juice/JUICE_Bold.ttf");
                break;
            case 15:
                str="hello_world-----JUICE_Italic";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Juice/JUICE_Italic.ttf");
                break;
            case 16:
                str="hello_world-----JUICE_Regular";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/Juice/JUICE_Regular.ttf");
                break;
            case 17:
                str="hello_world-----Ubuntu-B";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/ubuntu/Ubuntu-B.ttf");
                break;
            case 18:
                str="hello_world-----Ubuntu-BI";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/ubuntu/Ubuntu-BI.ttf");
                break;
            case 19:
                str="hello_world-----Ubuntu-R";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/ubuntu/Ubuntu-R.ttf");
                break;
            case 20:
                str="hello_world-----Ubuntu-RI";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "fonts/ubuntu/Ubuntu-RI.ttf");
                break;
            case 21:
                str="hello_world-----MONACO";
                // 获取字体并设置画笔字体
                typeface = Typeface.createFromAsset(getAssets(),
                        "MONACO.ttf");
                break;
            default:
                str="hello_world-----default";
                typeface=Typeface.create(Typeface.DEFAULT, Typeface.NORMAL);
                break;
            }
            textView.setText(str);
            textView.setTypeface(typeface);
            linearlayout.addView(textView);
        }

    }

}

源码下载

引用:
Android字体 - Embedded Girl - 博客频道 - CSDN.NET
Android字体设置及Roboto字体使用方法Android脚本之家
Typeface-Helper首页、文档和下载 - 自定义字体 - 开源中国社区
Android Typeface Helper自定义字体库_51CTO下载中心_IT技术资料免费下载
8.3.15 Paint API之——Typeface(字型) | 菜鸟教程

Android开发之assets目录下资源使用总结 - Android移动开发技术文章_手机开发 - 红黑联盟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值