我正在将图片加载到我的webview中,然后在点击时显示它。由于我在点击之前加载了webview,我希望图像能够立即显示。但加载需要一秒钟。如何让图像立即显示。这是我的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
final WebView webView = new WebView(this);
String url = "http://upload.wikimedia.org/wikipedia/commons/d/d8/Deerfire_high_res_edit.jpg";
String html = "<!doctype html><html lang='en'><head></head><body>Hello World<img src='" + url + "'></body></html>";
webView.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");
Button button = new Button(this);
button.setText("Click me!");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(webView);
}
});
layout.addView(button);
setContentView(layout);
}
答案 0 :(得分:0)
这可能有点hacky,但我认为你可以将webview visiblility设置为不可见...... webView.setVisibility(View.GONE);
或webView.setVisibility(View.INVISIBLE);
,然后将图像加载到视图中,然后在onClick
方法使其可见webView.setVisibility(View.VISIBLE);
它可能已经加载到那里并且只是出现。
注意:未经测试和可能的hacky解决方案。
重新阅读之后,您必须将布局作为webView的父级。您可以在setContentView(parent)
中设置父级,然后获取webView,将其添加到父级,分配图像,然后执行可见性。