我想知道是否有人知道或有办法动态加载资产文件夹中的所有字体.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个以上的字体系列)
任何想法?
提前感谢!