【问题标题】:Progressbar do not gone in webview进度条在 webview 中没有消失
【发布时间】:2017-01-18 15:54:28
【问题描述】:

我刚刚在导航抽屉中实现了 webview。我尝试在下面的代码中实现进度条,但不知道如何在下面的代码中实现。我阅读了 android 文档和其他关于 webview 和 progressbar 的问题,但对我没有帮助。

 public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();

    if (id == R.id.nav_camera) {
        // Handle the camera action
    } else if (id == R.id.nav_gallery) {
        WebView myWebView = (WebView) findViewById(R.id.web);
        myWebView.loadUrl("http://www.google.com");

        WebView WebView = (WebView) findViewById(R.id.web);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        WebView Webview = (WebView) findViewById(R.id.web);
        myWebView.setWebViewClient(new WebViewClient());

if (myWebView.getProgress()>=100){
    setProgressBarIndeterminate(false);
else{
    setProgressBarIndeterminate(true);
}

我是安卓编程新手

【问题讨论】:

  • 你错过了一个右括号} if!

标签: android webview navigation-drawer android-progressbar


【解决方案1】:

以下代码可以很好地显示预加载器

主要活动

package com.android_examples.com.webviewprogressbarload;

import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.ProgressBar;


public class MainActivity extends Activity 
{

 WebView webview;
 ProgressBar pbar;

 @Override
 protected void onCreate(Bundle savedInstanceState) 
 {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    webview = (WebView)findViewById(R.id.webView1);
    pbar = (ProgressBar)findViewById(R.id.progressBar1);
    webview.setWebViewClient(new WebViewClient());
    webview.loadUrl("http://www.google.com");
 }

 public class WebViewClient extends android.webkit.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);
     pbar.setVisibility(View.GONE);
  }

} }

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 tools:context="com.android_examples.com.webviewprogressbarload.MainActivity" >

 <ProgressBar
 android:id="@+id/progressBar1"
 style="?android:attr/progressBarStyleLarge"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentTop="true"
 android:layout_centerHorizontal="true" />

 <WebView
 android:id="@+id/webView1"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_below="@+id/progressBar1"
 android:layout_centerHorizontal="true" />

</RelativeLayout>

【讨论】:

  • 我刚刚在导航抽屉中的 if else 循环中实现了 webview。但无法弄清楚如何在 if else 循环中实现进度条。谢谢解答!!
  • If..else 和循环是两个不同的东西。如果您可以发布代码,这将有助于您更好地回答。
  • 在 if else 中,我刚刚实现了 webview,它的工作正常,但我在 if else 中找不到任何进度条代码。
  • 最好发布您的代码,以便周围的人可以帮助您更好地识别和解决您的问题。
  • 你现在能帮忙吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
相关资源
最近更新 更多