gpt4 book ai didi

android - Android 库中的字体

转载 作者:可可西里 更新时间:2023-11-01 18:52:11 29 4
gpt4 key购买 nike

在下面的链接

Android Dev Guide

正在写:

库项目不能包含原始 Assets 这些工具不支持在库项目中使用原始 Assets 文件(保存在 assets/目录中)。应用程序使用的任何 Assets 资源都必须存储在应用程序项目本身的 assets/目录中。但支持保存在res/目录下的资源文件。

因此,如果我想创建一个使用自定义字体的自定义 View 组件,我该如何访问该资源?我不能用我最喜欢的字体重新分发我的组件吗!!!!

最好的问候

最佳答案

这是一种从实际工作的资源中加载字体的方法;-)第一个版本归功于 mr32bit。

private Typeface getFontFromRes(int resource)
{
Typeface tf = null;
InputStream is = null;
try {
is = getResources().openRawResource(resource);
}
catch(NotFoundException e) {
Log.e(TAG, "Could not find font in resources!");
}

String outPath = getCacheDir() + "/tmp" + System.currentTimeMillis() ".raw";

try
{
byte[] buffer = new byte[is.available()];
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(outPath));

int l = 0;
while((l = is.read(buffer)) > 0)
bos.write(buffer, 0, l);

bos.close();

tf = Typeface.createFromFile(outPath);

// clean up
new File(outPath).delete();
}
catch (IOException e)
{
Log.e(TAG, "Error reading in font!");
return null;
}

Log.d(TAG, "Successfully loaded font.");

return tf;
}

关于android - Android 库中的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7610355/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com