La barra de progreso no es visible cuando se junta con webview

En los LinearLayout hay un WebView y ProgressBar elemento.

El WebView is full screen.

And I try to show the ProgressBar cuando WebView está cargando algo

Pero parece ProgressBar está cubierto por WebView y por lo tanto no visible.

And if I set WebView to be invisible ,I can see that ProgressBar.

So how can I show the ProgressBar en la parte superior de la WebView?

preguntado el 09 de marzo de 12 a las 13:03

4 Respuestas

Intente usar un Disposición relativa rather than a LinearLayout. Have the WebView as the first child and the ProgressBar as the second, this will place the ProgressBar over the top of the WebView.

respondido 09 mar '12, 13:03

By top I mean I want the ProgressBar to have a z-index on top of the webview. - nuevo_perl

Yes, the order views are added to a RelativeLayout defines their z-ordering. - matt colliss

In LinearLayout,if I put the ProgressBar above WebView, findViewById won't find the Webview, do you know the reason? - nuevo_perl

Is there difference when writing <WebView /> y <WebView ...></WebView>? - nuevo_perl

Nope <WebView /> is just shorthand for <WebView ...></WebView>, normally used for views that can't have any children. - matt colliss

You should use a RelativeLayout to do this. It will be something like this:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#1F286D" >

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

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

</RelativeLayout>

respondido 09 mar '12, 13:03

You can use android:translationZ attribute in ProgressBar:

<ProgressBar
    android:id="@+id/progress_bar"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:translationZ="2dp"
    android:layout_centerInParent="true"/>

y use Disposición relativa

Más información

contestado el 23 de mayo de 17 a las 13:05

Better way + the progressBar will stay on your screen even when you scroll through the WebView: put the progressbar inside FrameLayout and below WebView...

<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>

Respondido 18 Oct 17, 04:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.