当前位置: 首页 > 面试题库 >

使用自定义CSS在WebView中呈现HTML

梁华清
2023-03-14
问题内容

我的应用程序正在使用JSoup下载留言板页面的HTML(在这种情况下,它是包含给定线程帖子的页面)。我想使用此HTML,去除不需要的项目,并应用自定义CSS对其进行样式设置使其在WebView中“可移动”。

我应该在处理样式时将样式注入HTML中(因为无论如何还是要处理样式),还是有一种很好的方法将CSS文件添加到我的应用程序资产中并简单地引用它。我认为后者将是理想的,但不确定如何实现。

我在WebView的loadDataWithBaseURL中看到了可以引用本地资产的提示,但不确定如何利用它。


问题答案:

您可以使用WebView.loadDataWithBaseURL

htmlData = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlData;
// lets assume we have /assets/style.css file
webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "UTF-8", null);

并且只有在此之后,WebView才能够在assets目录中查找和使用css文件。

ps而且,是的,如果您从资产文件夹中加载html文件,则无需指定基本URL。



 类似资料:
  • 我在整个React本机应用程序中使用自定义字体。我使用react-native-link命令链接了它们。除了Android的Webview组件之外,它们在任何地方都可以工作。它在iOS Webview中正常工作。 我已经尝试使用url("file:///android_assets/fonts/Lohit-Gujarati")在webview css中创建一个字体面。它不起作用。导入谷歌字体css

  • 问题内容: 我有一台Mac,并且安装了一种名为“ 7 Segment”的字体(它显示在Font Book中)。当我使用Helvetica(或类似字体)而不是浏览器的默认字体时,它仍然没有显示正确的字体。该页面仅需要在此计算机上显示。我将如何使用此页面上的字体?谢谢。 问题答案: 您需要使用css-property font-face来声明您的字体。 例:

  • 我想加载facebook。com在webview中使用自定义CSS来更改一些内容。我使用jsoup,但每次启动应用程序时都会崩溃。 这是我的代码: Logcat输出 FATAL EXCEPTION: main Process:android.app., PID: 23936hread.mainRuntimeException:无法启动活动ComponentInfo{hread.java:5417}

  • 我正在编写一组定制的PrimeFaces组件,使用PrimeFaces5.0,并在JBoss EAP6.2中运行。 null 2.2在myFaceStest.taglib.xml中,我定义了输入标记: 2.3在input.java(我的自定义组件)中,我执行以下操作: 2.4此组件的呈现器包含以下内容: 给定这种设置,为什么自定义组件不会呈现?我的jboss日志中没有任何内容,即使日志级别设置为d

  • 当我将资产/字体中的自定义字体应用于本地html时。我只是像下面这样设置字体@font-face{font-Family:'my'字体;src: url('file:///android_asset/fonts/my'字体);}但是,当我使用loadUrl(“远程html url”)时,上面的代码不起作用。有一个好主意吗? 下面的链接显示本地字体和本地html的示例代码。如何在Android中更改

  • 问题内容: 我看到一些新网站在其网站上使用自定义字体(常规Arial,Tahoma等除外)。 并且它们支持大量的浏览器。 怎么做到的?同时,如果可能的话,还会阻止人们自由下载字体。 问题答案: 通常,您可以在CSS中使用自定义字体。这是一个非常基本的示例: 然后,简单地在特定元素上使用字体: (是您的选择器)。 请注意,某些字体格式并非在所有浏览器上都有效;您可以使用fontsquirrel.co