gpt4 book ai didi

android - 在加载 webview 之前显示 Activity 圈 - Android

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:12 26 4
gpt4 key购买 nike

我正在使用 webview 在我的应用程序中显示网页。网页加载大约需要 2-3 秒。在网页加载之前,我想显示一个 Activity 圈进度条,如图所示 here .
这是 Activity 圈的样子:

我怎样才能完成它?

我在网络上进行了搜索,但未能找到有关其实现方式的令人满意且正确的解释。谢谢!

WebViewPage.java

public class Webpage extends Activity {

WebView web;
ProgressBar progressBar;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_page);

Intent startwebpage = getIntent();

web = (WebView) findViewById(R.id.webView);
web.setWebViewClient(new myWebClient());

web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("http://www.google.com");
}

public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub

view.loadUrl(url);
return true;

}

@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
}

最佳答案

onPageStarted 方法中显示 progressBar 并在 onPageFinished 中关闭它。

    private ProgressDialog progressBar;
  1. 在 onPageStarted 中显示进度条:

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
    // TODO Auto-generated method stub
    super.onPageStarted(view, url, favicon);

    // prepare for a progress bar dialog
    progressBar = new ProgressDialog(v.getContext());
    progressBar.setCancelable(true);
    progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progressBar.show();
    }

2.在onPageFinished中关闭它:

    @Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);

progressBar.dismiss();
}

编辑:使用 ProgressBar 而不是 ProgressDialog

  1. 在您的布局中使用以下代码。将您选择的 drawable 用于“@drawable/progress”

     <ProgressBar
    android:id="@+id/progress_bar"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:visibility="gone"
    android:indeterminateDrawable="@drawable/progress" >
    </ProgressBar>
  2. 在您的 Activity 中为其充气。使其在 onPageStarted 中可见并在 onPageFinished 中消失。

    private ProgressBar prgrsBar;

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
    // TODO Auto-generated method stub
    super.onPageStarted(view, url, favicon);

    prgrsBar.setVisibility(View.VISIBLE);
    }

    @Override
    public void onPageFinished(WebView view, String url) {
    // TODO Auto-generated method stub
    super.onPageFinished(view, url);

    prgrsBar.setVisibility(View.GONE);
    }

关于android - 在加载 webview 之前显示 Activity 圈 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com