列表视图中的WebView在滚动时会产生不稳定的行为

时间:2014-11-18 12:27:05

标签: android-listview android-webview

我正在使用Webview作为ListItem在我的应用程序中显示一些html提要     除了它有时非常缓慢之外它效果很好。自从我     不知道内容的大小然后我不能设置每个的高度     Webview,因此我有以下代码(这是代码     一个ListItem):

<WebView android:id="@+id/rss_title" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        style="@style/RssText" 
        android:textColor="#FFFFFF" />

但是“wrap_content”会导致Webview重新调整大小 滚动。列表视图的滚动条指示器也存在问题 知道完整列表的大小,以便在更改时改变大小 滚动。所有这些都会在滚动时产生非常“不稳定”的体验。

有没有更好的方法呢?真的很感激任何 救命!提前致谢

2 个答案:

答案 0 :(得分:0)

尝试在WebView

上设置此设置
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
settings.setTextSize(TextSize.LARGER);

答案 1 :(得分:0)

如果您正在加载复杂的HTML(或来自网络的内容),我建议您只使用固定大小的WebView并显示其中的所有内容。无论您对片段/活动/视图有什么用户界面,都要用HTML格式。

使用可滚动的父容器使所有情况下的WebView正常工作非常困难。你不仅需要异步处理内容加载(所以大小会像你提到的那样变化),你还需要投入大量的黑客才能让WebView正确滚动(我敢打赌你的解决方案不允许divs /在WebView中滚动的iframe并且获得正确的位置元素也是一个问题。另外请记住测试KK和JB作为WebViews有很大不同。