【问题标题】:Android - Add progress bar WebViewAndroid - 添加进度条 WebView
【发布时间】:2015-09-03 10:20:39
【问题描述】:

我正在创建一个简单的应用程序 Android webview,但也遵循指南,我无法在我的代码中实现进度条。 如何实现页面加载后会消失的加载栏?

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WebView view = (WebView) this.findViewById(R.id.webView);
        view.getSettings().setJavaScriptEnabled(true);
        view.setWebViewClient(new MyBrowser());
        view.loadUrl("http://www.abcdefcsadfg.org");
    }

    private class MyBrowser extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
}

【问题讨论】:

标签: android webview progress-bar


【解决方案1】:

您可以在 onCreate 中初始化一个 Progressbar,如下所示,并将其初始可见性设置为 View.GONE。

progress = (ProgressBar) findViewById(R.id.progressBar);
progress.setVisibility(View.GONE);

你的 MyBrowser 应该是这样的

private class MyBrowser extends WebViewClient { 
     @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

     @Override
    public void onPageFinished(WebView view, String url) {
         progress.setVisibility(View.GONE); 
         super.onPageFinished(view, url);
    }

     @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
         progress.setVisibility(View.VISIBLE);
         super.onPageStarted(view, url, favicon);
    }
}

更新: Check this link

【讨论】:

    【解决方案2】:

    您应该在 xml 文件中声明进度条并在主活动中引用它,以便它出现在您的应用程序中。 在 MyBrowser 中设置进度。

    参考这个链接,它会对你有所帮助。

    http://javatechig.com/android/progressbar-while-loading-webview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 2019-03-26
      • 1970-01-01
      相关资源
      最近更新 更多