关于android:如何在WebView中设置字体大小和文本颜色? |
您所在的位置:网站首页 › 安卓应用字体颜色 › 关于android:如何在WebView中设置字体大小和文本颜色? |
我正在开发一个Android应用程序,其中使用了HTML文件作为帮助内容。我已经使用WebView来显示内容,并且一切都很好。 问题是用户可以更改应用程序的主题和字体大小。如何将这些属性传播到WebView的内容?究竟该如何在WebView中更改字体大小和文本颜色?有没有简单的方法可以做到这一点,或者我应该创建不同的HTMLfile或CSS? 如何处理尺寸单位(dp,sp,...)? 在这种情况下,我将非常感谢您的帮助。 相关讨论 WebView是Web浏览器。它旨在显示(X)HTML内容或导航。它的内容不是UI的一部分。 谢谢。我知道,但是没有样式的内容的默认设置呢?以及诸如setDefaultFontSize(),setTextZoom()和不推荐使用的setTextSize()之类的方法的原因是什么? 对于default settings for contents which have not any style?,请使用CSS文件。 setDefaultFontSize()设置sp中的字体大小。 setTextZoom()将缩放级别设置为%。有关已弃用的setTextSize(),请参阅:developer.android.com/reference/android/webkit/…在您的android应用程序上,使用以下代码加载用户选择的字体大小和颜色的网页: 12345678WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebChromeClient(new InredisChromeClient(this)); myWebView.setWebViewClient(new InredisWebViewClient(this)); myWebView.clearCache(true); myWebView.clearHistory(); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); myWebView.loadUrl("http://demo.com/content.html?font-size=12&fontcolor=blue");在content.html页面上,启用JavaScript并使用jQuery及其功能,如下所示: 123456789101112131415161718function getCssValue(sCSS) { var sPageURL = window.location.search.substring(1); var sValues = sPageURL.split('&'); for (var i = 0; i < sValues.length; i++) { var sPair = sValues[i].split('='); if (sPair[0] == sCSS) { return sPair[1]; } } } $(document).ready(function(){ // Set the Font Size from URL $('html').css('font-size', getCssValue('font-size')); }); 相关讨论 非常感谢您的直接解决方案。此方法在浏览器中效果很好。但是在应用程序中不起作用。启用JavaScript时,我得到了白页并将其禁用,导致忽略格式设置属性。这就是我试图显示页面的方式。我忘记了什么吗? myWebView.getSettings()。setJavaScriptEnabled(true); myWebView.loadUrl(" file:///android_asset/help.html?font-size ?? = 12loadUrl("javascript:(document.body.style.backgroundColor ='red');"); loadUrl("javascript:(document.body.style.fontSize ='20pt');");loadUrl("javascript:(document.body.style.color ='yellow');"); 相关讨论 谢谢。但是我之前曾尝试过,但是没有用。首先,您需要定义一个webView,然后使用以下方法。 lightFont是您应存储在资产文件夹中的字体。 color是您的文本颜色。 font size:您可以更改字体大小。(例如20px或中号等)。 最后,您需要使用seconde方法在webView 上显示html 第一种方法: 123456789101112 public static String getStyledFont(String html) { boolean addBodyStart = !html.toLowerCase().contains(""); boolean addBodyEnd = !html.toLowerCase().contains(" |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |