0

我正在将图像加载到我的 web 视图中,然后单击显示它。由于我在点击之前加载了 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);
    }
4

1 回答 1

0

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

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

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

于 2013-10-04T17:47:58.503 回答