在 Android 中的 ListView 上显示 CSS 样式的 Html 数据

所以,我想在ListView. 我知道有一些选项,例如 usingWebViewTextViewwithfromHtml()方法,但 fromHtml 不支持 css 并且 WebView 不能被 ListView 项目整除。有什么想法吗?



达令说
浏览 100回答 2
2回答

绝地无双

TextView对 css 的了解很差,但它不是一个显示样式化网站内容的工具,因此对于简单的 html 文本来说已经足够了。当谈到 时WebView,显示复杂的 html、css、javascript 内容是一个好主意。如果需要,您可以使用。当然它没有那么快TextView,但是有一些性能改进,如下:// In AndroidManifest<application&nbsp; &nbsp; android:allowBackup="true"&nbsp; &nbsp; android:hardwareAccelerated="true"&nbsp; &nbsp; ...><activity android:name=".activity.MainActivity"&nbsp; &nbsp; &nbsp; &nbsp; android:hardwareAccelerated="true">...// In onCreate method from Activity classWebView webView = (WebView) findViewById(R.id.webViewId);WebSettings settings = webView.getSettings();settings.setJavaScriptEnabled(true);settings.setDefaultTextEncodingName("utf-8");settings.setSupportZoom(true);settings.setBuiltInZoomControls(false);settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);settings.setRenderPriority(WebSettings.RenderPriority.HIGH);settings.setCacheMode(WebSettings.LOAD_NO_CACHE);settings.setLoadWithOverviewMode(true);settings.setDomStorageEnabled(true);this.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);this.setScrollbarFadingEnabled(true);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)&nbsp; &nbsp; this.setLayerType(View.LAYER_TYPE_HARDWARE, null); // chromium, enable hardware accelerationelse&nbsp; &nbsp; this.setLayerType(View.LAYER_TYPE_SOFTWARE, null); // older android version, disable hardware acceleration// use this, for don't getting some errors.webView.loadDataWithBaseURL(null, "HtmlString", "text/html; charset=UTF-8", "UTF-8", null);

料青山看我应如是

您不能在 android 原生上使用 CSS 属性fromHtml(),但肯定可以使用第三方库作为fromHtml()支持 CSS 的替代方案。其中之一就是这个。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5