【问题标题】:Android splash screen flicker安卓启动画面闪烁
【发布时间】:2013-10-29 23:15:45
【问题描述】:

我已在我的应用程序中添加了启动画面,但启动画面仅闪烁几毫秒。我想显示我的启动画面,直到我的 webview 完全加载。 这是我的代码...谢谢!

 WebView wv = (WebView) findViewById(R.id.webView1);
            wv.getSettings().setJavaScriptEnabled(true);
            wv.setWebViewClient(new WebViewClient() {

                ...

                @Override
                public void onPageFinished(WebView view, String url) {
                    //hide loading image
                    findViewById(R.id.imageLoading1).setVisibility(View.GONE);
                    //show webview
                    findViewById(R.id.webview).setVisibility(View.VISIBLE);
                }


            });     
            wv.loadUrl("http://myurl.com");

【问题讨论】:

    标签: android eclipse webview splash-screen


    【解决方案1】:

    您可以切换 setVisibility 调用。使 webview 可见,然后使 loadingImage 消失。那应该消除闪烁。

    【讨论】:

    • 这个:public void onPageFinished(WebView view, String url) { //show webview findViewById(R.id.webview).setVisibility(View.VISIBLE); //hide loading image findViewById(R.id.imageLoading1).setVisibility(View.GONE); 我试试这个,但还是一样,水花还在闪烁。
    • 也许先将视图保存到变量中,然后再调用 setVisibility?这将消除代码遍历视图树的时间。所以 View v1 = findViewById(...);查看 v2 = findViewById(...) 然后 v1.setVisibility(...), v2.setVisibility(...)。
    【解决方案2】:

    您需要代码来检查加载状态。这是来自WebView reference的示例代码

    webview.setWebChromeClient(new WebChromeClient() {
       public void onProgressChanged(WebView view, int progress) {
         // Activities and WebViews measure progress with different scales.
         // The progress meter will automatically disappear when we reach 100%
         activity.setProgress(progress * 1000);
       }
     });
    

    达到100%后,可以让闪屏消失。

    【讨论】:

    • 我的应用中有该代码。但我不想在每次 webview 加载某些东西时启动屏幕显示,只在应用程序启动时显示,而 webiew 加载。
    • 你可以在一个布尔值或偏好中计算并记住第一次,并在onPregressChanged中编写条件语句。那么启动画面将只显示一次
    【解决方案3】:

    除非你需要有闪屏否则我建议不要使用闪屏,只显示一个webview框架和一个加载对话框就足够了,尽量让用户控制。检查此链接:http://cyrilmottier.com/2012/05/03/splash-screens-are-evil-dont-use-them/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多