动态加载和分类资产中的字体

时间:2016-04-04 02:48:41

标签: java android fonts

我想知道是否有人知道或有办法动态加载资产文件夹中的所有字体.ttf和.otf并按家庭分类,我有一个静态方式(这没有完全完成),我有一个方法,返回一个包含所有字体系列的List,硬编码,所以我有另外一种方法来返回给定字体系列(字符串)的字体和它的样式:

public Typeface getTypeface(Context context, String name, int textStyle)
{
    String fontFileName = "";
    switch (name)
    {
        case "ComicNeue-Angular":
        {
            switch (textStyle)
            {
                case Typeface.NORMAL: {} break;
                case Typeface.BOLD: {} break;
                case Typeface.ITALIC: {} break;
                case Typeface.BOLD_ITALIC: {} break;
            }
        } break;
        case "ComicNeue":
        {
            switch (textStyle)
            {
                case Typeface.NORMAL: {} break;
                case Typeface.BOLD: {} break;
                case Typeface.ITALIC: {} break;
                case Typeface.BOLD_ITALIC: {} break;
            }
        } break;
        case "Impact":
        {
            switch (textStyle)
            {
                case Typeface.NORMAL: {} break;
                case Typeface.BOLD: {} break;
                case Typeface.ITALIC: {} break;
                case Typeface.BOLD_ITALIC: {} break;
            }
        } break;
        case "LiberationSans":
        {
            switch (textStyle)
            {
                case Typeface.NORMAL: {} break;
                case Typeface.BOLD: {} break;
                case Typeface.ITALIC: {} break;
                case Typeface.BOLD_ITALIC: {} break;
            }
        } break;
        case "Roboto":
        {
            switch (textStyle)
            {
                case Typeface.NORMAL: {} break;
                case Typeface.BOLD: {} break;
                case Typeface.ITALIC: {} break;
                case Typeface.BOLD_ITALIC: {} break;
            }
        } break;
    }
    return Typeface.createFromAsset(context.getAssets(), fontFileName);
}

我想添加所有字体并按家庭分类,所以我可以加载一个包含所有字体系列的微调器。所以如果我在文件夹中添加另一个字体系列,我不必在此代码中添加行。 (我必须在项目中添加7个以上的字体系列)

任何想法?

提前感谢!

0 个答案:

没有答案