Android没有预加载图片

时间:2013-10-04 17:34:36

标签: android image android-webview

我正在将图片加载到我的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);
    }

1 个答案:

答案 0 :(得分:0)

这可能有点hacky,但我认为你可以将webview visiblility设置为不可见...... webView.setVisibility(View.GONE);webView.setVisibility(View.INVISIBLE);,然后将图像加载到视图中,然后在onClick方法使其可见webView.setVisibility(View.VISIBLE);它可能已经加载到那里并且只是出现。

注意:未经测试和可能的hacky解决方案。

重新阅读之后,您必须将布局作为webView的父级。您可以在setContentView(parent)中设置父级,然后获取webView,将其添加到父级,分配图像,然后执行可见性。