【问题标题】:Display Css Styled Html Data on ListView in Android在 Android 的 ListView 上显示 Css 样式的 Html 数据
【发布时间】:2020-08-01 18:32:25
【问题描述】:

所以,我想在ListView 上部分显示包含 css(字体大小、颜色、字体系列、文本装饰等)的大 html 字符串。我知道有一些选择,比如使用WebViewTextViewfromHtml() 方法,但是fromHtml 不支持css 并且WebView 对于ListView 项是不可分割的。有什么想法吗?

【问题讨论】:

  • 你想做什么,你可以在网页视图本身中创建一个列表视图!试试看。

标签: java android html css kotlin


【解决方案1】:

TextViewcss 很差,但它不是显示样式网站内容的工具,因此对于简单的 html 文本来说已经足够了。 对于WebView,显示复杂的html、css、javascript 内容是个好主意。如果需要,您可以使用。当然不会比TextView快,但是有一些性能提升,如下:

// In AndroidManifest

<application
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    ...
>

<activity android:name=".activity.MainActivity"
        android:hardwareAccelerated="true">
...

// In onCreate method from Activity class

WebView 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)
    this.setLayerType(View.LAYER_TYPE_HARDWARE, null); // chromium, enable hardware acceleration
else
    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);

【讨论】:

    【解决方案2】:

    您不能在android 的原生fromHtml() 上使用CSS 属性,但肯定可以使用第三方库来替代支持CSS 的fromHtml()。其中之一可以是this one

    【讨论】:

      猜你喜欢
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      相关资源
      最近更新 更多