相关疑难解决方法(0)

在WebView中添加进度条

我正在尝试向我的应用程序添加进度/加载栏WebView.我很困惑如何实现每次单击链接时出现的进度条.

当前代码:

public class CULearnBrowser extends Activity {

    WebView webview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        webview = (WebView) findViewById(R.id.webview);
        webview.setWebViewClient(new HelloWebViewClient());
        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl("https://culearn.colorado.edu/webct/entryPageIns.dowebct");
    }

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

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}
Run Code Online (Sandbox Code Playgroud)

活动布局:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"> …
Run Code Online (Sandbox Code Playgroud)

android progressdialog android-webview android-progressbar

47
推荐指数
6
解决办法
11万
查看次数

Android ProgessBar在加载WebView时

在我的应用程序中,我有一个WebView从Internet加载任何URL.现在,有时由于网络速度慢,页面需要很长时间才能加载,用户只能看到一个空白屏幕.

我想显示ProgressBar的同时WebView被加载和隐藏ProgessBarWebView被完全加载.

我知道如何使用ProgressBarAsyncTasks,但这是我的问题.

这是我用来加载我的代码WebView.

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.loadUrl(web_URL);
Run Code Online (Sandbox Code Playgroud)

这是我的自定义WebViewClient课程

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我尝试显示ProgressBar使用AsyncTasks然后我想我必须给代码加载doInBackGround()我的函数中的URL AsyncTask并通过该onProgressUpdate()函数显示进度.

但是,如何在doInBackground()中加载URL,因为doInBackground()非UI线程上运行,我无法在其中使用mWebView.loadUrl(web_URL).

有什么建议?我错过了一些明显的东西吗 请指导我.

android android-webview android-progressbar android-asynctask

39
推荐指数
5
解决办法
6万
查看次数

如何在加载数据时获取WebView的进度,Xamarin.Forms

我正在使用Xamarin.Forms开发一个应用程序来列出来自不同来源的新闻.我使用webView打开与新闻相对应的链接.但我希望在将网页加载到Web视图时显示进度,例如Safari App上的进度条.为此,我使用了ProgressBar元素,如下所示:

<StackLayout>
            <!-- WebView needs to be given height and width request within layouts to render. -->

            <ProgressBar Progress ="" HorizontalOptions="FillAndExpand" x:Name="progress"/>
            <WebView x:Name="webView" 
                     HeightRequest="1000"
                     WidthRequest="1000"  
                     VerticalOptions= "FillAndExpand" 
                     Navigating="webOnNavigating"
                     Navigated="webOnEndNavigating"/>
        </StackLayout>
Run Code Online (Sandbox Code Playgroud)

并在我使用的代码中

void webOnNavigating (object sender, WebNavigatingEventArgs e)
        {
            progress.IsVisible = true;

        }

        void webOnEndNavigating (object sender, WebNavigatedEventArgs e)
        {
            progress.IsVisible = false;
        }
Run Code Online (Sandbox Code Playgroud)

但我想展示加载数据的进度,而不仅仅是加载和加载的指示.我希望用户知道数据正在加载.有没有办法实现这一目标.

progress webview progress-bar xamarin.forms

10
推荐指数
1
解决办法
1898
查看次数

在子选项卡上显示进度条,直到加载WebView

在Android应用程序中,我使用TabView,其中一个选项卡显示WebView.但是在网页加载之前页面是空白的.如何在页面加载之前显示进度条?它不能在标题栏中,因为它被标签主机隐藏.

android webview android-tabhost progress-bar

5
推荐指数
2
解决办法
1万
查看次数