我想将自定义字体嵌入我的Android应用程序中。我不使用TextView,因此像这样的教程(如何在TextView中使用自定义字体)对我没有帮助。
在我的情况下,内容来自SQLite数据库,并使用WebView在屏幕上显示。我也不使用打包的HTML文件,所以这个教程(如何在WebView中使用自定义字体)也无法解决我的问题。
顺便说一下,这是我的代码:
在我的情况下,内容来自SQLite数据库,并使用WebView在屏幕上显示。我也不使用打包的HTML文件,所以这个教程(如何在WebView中使用自定义字体)也无法解决我的问题。
顺便说一下,这是我的代码:
public void initWebview()
{
WebSettings settings = wvContent.getSettings();
settings.setDefaultTextEncodingName("utf-8");
setContentView(R.layout.content);
wvContent = (WebView) findViewById(R.id.wvContent);
wvContent.setBackgroundColor(Color.argb(250, 250, 250, 250));
wvContent.getSettings().setSupportZoom(true);
wvContent.getSettings().setBuiltInZoomControls(true);
wvContent.setInitialScale(100);
wvContent.setWebViewClient(new WebViewClient()
{
public void onPageFinished(WebView view, String url)
{
if (pd != null)
{
pd.dismiss();
pd = null;
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
Log.i(CONTENT_TAG,"WebView link clicked; url = " + url);
try
{
String arrUrlPart[] = url.split("://");
if (arrUrlPart[0].equals("entry"))
{
String content = getContentByWord(arrUrlPart[1]);
showContent(content);
}
else if (arrUrlPart[0].equals("http"))
{
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
} catch (Exception ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
return true;
}
});
}
存储在assets/fonts中的字体似乎被嵌入到应用程序中,我的问题是:
- 我如何以编程方式“强制”我的应用程序使用这种字体?
- 是否有任何解决方案可以解决我的问题?
非常感谢。