为什么Android WebView在HorizontalScrollView上闪烁?
我必须写的应用程序,有垂直滚动的瓷砖行和所有这些 水平排列的行。每个磁贴都是html+javascript内容。 因此,我在HorizontalScrollView和 ListView的BaseAdapter Iam绑定WebView的getView方法。 这是一个简单的方案:为什么Android WebView在HorizontalScrollView上闪烁?,android,webview,android-listview,android-webview,horizontalscrollview,Android,Webview,Android Listview,Android Webview,Horizontalscrollview,我必须写的应用程序,有垂直滚动的瓷砖行和所有这些 水平排列的行。每个磁贴都是html+javascript内容。 因此,我在HorizontalScrollView和 ListView的BaseAdapter Iam绑定WebView的getView方法。 这是一个简单的方案: HorizintalScrollView LinearLayout ListView1 - WebView1 WebView2.....WebView6 //getView { WebVi
HorizintalScrollView
LinearLayout
ListView1 - WebView1 WebView2.....WebView6 //getView { WebView.LoadUrl(html) } //using with ViewHolder and convertView asking for null
...
ListViewN - WebView....WebView
/LinearLayout
/HorizontalScrollview
每个WebView都太过内部线性布局。
所以这一切看起来都很好,而且很有效,但是当ListView包含超过5个Web视图时(每个视图有300 x 300个dip)
在HorizontalScrollView中有不止一个ListView,当我尝试水平滚动时,所有的网络视图都开始以白色闪烁(就像重新加载但没有getView)
但当我使用一个ListView时,一切正常。有时应用程序会崩溃。那么原因是什么呢??
(在每个WebViw中,我展示了简单的交互式突出显示html+javascripts图表)。我正在试用带有ICS 4.0的华硕平板电脑
我们尝试在iOS上通过ScrollView上的30个网络视图来实现这一点,没有任何问题,一切正常!
请解释为什么闪烁和崩溃应用程序。我也遇到了同样的问题。我试着这样做,在更大程度上解决了我的问题
public View getView(final int position, View convertView,
ViewGroup parent) {
final ViewHolder holder;
View vi = convertView;
if (convertView == null) {
vi = inflater.inflate(R.layout.book_reader_list_style, parent,
false);
holder = new ViewHolder();
holder.webView = (WebView) vi.findViewById(R.id.webView1);
holder.webView.setInitialScale(scaleWebView);
WebSettings webSettings = holder.webView.getSettings();
holder.webView.setVerticalScrollBarEnabled(false);
holder.webView.setHorizontalScrollBarEnabled(false);
holder.webView.setVisibility(View.VISIBLE);
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(false);
vi.setTag(holder);
} else {
holder = (ViewHolder) vi.getTag();
}
holder.webView.loadUrl((URLs.get(position)));
return vi;
}
当我尝试水平滚动时,为什么WebView会闪烁?当我垂直滚动一个包含50个网络视图的列表视图时,所有视图都正常且不闪烁。