相关疑难解决方法(0)

如何在Android中更改Webview的字体?

我想将webview的默认字体更改为自定义字体.我正在使用webview开发Android的双语浏览器应用程序.

我尝试通过将自定义字体放在资源中来获取自定义字体的实例.但仍然无法将webview的默认字体设置为我的字体.

这是我试过的:

Typeface font = Typeface.createFromAsset(getAssets(), "myfont.ttf"); 
private WebView webview;
WebSettings webSettings = webView.getSettings();
webSettings.setFixedFontFamily(font);
Run Code Online (Sandbox Code Playgroud)

任何人都可以更正此或建议任何其他方法将webview的默认字体更改为自定义字体?

谢谢!

android webview font-face custom-font

93
推荐指数
10
解决办法
9万
查看次数

如何使用WebView自定义字体

现在我想显示一些unicode字符,我使用了tag : <font face=" Arial">something here</font>. 但似乎WebView找不到Arial字体,因为我只能看到UFO字符.我是否必须将arial.ttf复制到某处或者如何使用此TrueType字体WebView?谢谢.

android webview custom-font

58
推荐指数
3
解决办法
6万
查看次数

从assets文件夹加载大于1M的文件

我疯了,我创建了一个文件对象,所以可以用ObjectInputStream读取它,然后放置了assets文件夹.该方法适用于小于1M的文件,并且对较大的文件给出错误.我读到这是Android平台的限制,但我也知道可以"轻松"避免.例如,那些已经下载游戏Reging Thunder的人可以很容易地看到他们的资产文件夹中的文件大小是18.9M.这是我从ObjecInputStream读取1个对象的代码

File f = File.createTempFile("mytempfile", "dat");
FileOutputStream fos = new FileOutputStream(f);

InputStream is = mc.getAssets().open(path,3);

ObjectInputStream ois=new ObjectInputStream(is);
byte[] data = (byte[]) ois.readObject();
fos.write(data);

fos.flush();
fos.close();
ois.close();
is.close();
Run Code Online (Sandbox Code Playgroud)

现在我有一个未压缩的文件,我可以使用它而不用担心错误"这个文件不能作为文件描述符打开;它可能是压缩的"

此函数适用于小于1M的文件,较大的文件在"ObjectInputStream ois = new ObjectInputStream(is);"行返回java.io.IOException.

为什么??

android load assets inputstream objectinputstream

36
推荐指数
4
解决办法
4万
查看次数

如何将自定义字体嵌入到Android应用程序(WebView)

我想在我的Android应用程序中嵌入自定义字体.我不使用的TextView所以这样的教程为这一个(如何使用与TextView的自定义字体)没有帮助.

在我的例子中,内容来自SQLite数据库,并使用WebView显示在屏幕上.我既不使用捆绑的HTML文件,所以本教程(如何使用WebView自定义字体)也无法解决我的问题.

FIY,这是我的代码:

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);
                } …
Run Code Online (Sandbox Code Playgroud)

sqlite fonts android webview

3
推荐指数
1
解决办法
7743
查看次数