0

だから皆さん。私は問題がある、私はアプリケーションを作成しているとwebviewが請求されている間、コンテンツの前にロードProgressBarが表示され、私のコードを参照してください。問題は、アプリケーションを起動すると、ProgressBarが表示されないWebビューの代わりに白いアクティビティがあることです。コードに従います。WebViewとProgressBarが表示されない

<FrameLayout 
      android:id="@+id/framelayout" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1"> 

     <WebView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/webView" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" 
      android:visibility="invisible"/> 

     <ProgressBar 
      android:id="@+id/progress" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:visibility="invisible"/> 


    </FrameLayout> 


    </RelativeLayout> 

NOW MY CLASS: // CODE WebViewの

final WebView myWebView = (WebView) findViewById(R.id.webView); 
myWebView.loadUrl("http://www.idestudos.com.br"); 
WebSettings webSettings = myWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 
webSettings.setSupportZoom(true); 
webSettings.setBuiltInZoomControls(true); 

myWebView.setWebViewClient(new MyBrowser()); 

myWebView.setWebViewClient(new WebViewClient() { 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return false; 
    } 
}); 


    myWebView.setWebViewClient(new WebViewClient(){ 

     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon){ 

      ProgressBar pb = (ProgressBar) findViewById(R.id.progress); 
      pb.setVisibility(View.VISIBLE); 

     } 

     public void onPageFinished(WebView view, String url){ 

      ProgressBar pb = (ProgressBar) findViewById(R.id.progress); 
      pb.setVisibility(View.INVISIBLE); 
      myWebView.setVisibility(View.VISIBLE); 
     } 
    }); 


}` 
+0

これは英語のみのサイトです。あなたの質問を英語で書くように[編集]してください。 – Undo

+0

私は質問を編集しました!ごめんなさい... –

答えて

0

0dpに設定し、高さ、すなわち、android:layout_height="0dp"を持っていますが、1に設定された重み、android:layout_weight="1"を持ってFrameLayoutあなたのルート、その場合は確信しています内部にはLinearLayout?高さをandroid:layout_height="match_parent"または何かに変更しない場合。

また、クライアントを2回設定しています。 myWebView.setWebViewClient(new WebViewClient() {...});コードに2回あります。

代わりにこれを行います。

myWebView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return false; 
    } 

    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon){ 
     ProgressBar pb = (ProgressBar) findViewById(R.id.progress); 
     pb.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public void onPageFinished(WebView view, String url){ 
     ProgressBar pb = (ProgressBar) findViewById(R.id.progress); 
     pb.setVisibility(View.INVISIBLE); 
     myWebView.setVisibility(View.VISIBLE); 
    } 
}); 
0

プログレスバーを使用すると、WebViewのをスクロールしても画面上に滞在するようにWebViewを以下でframeLayoutとでframeLayout内部のプログレスバーを入れては...

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <WebView 
     android:id="@+id/webView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerVertical="true" 
     /> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="150dp"> 

      <ProgressBar 
       <!-- your progress bar here--> 
      /> 

     </FrameLayout> 
</RelativeLayout> 
関連する問題