进度条和 webview 问题

Posted

技术标签:

【中文标题】进度条和 webview 问题【英文标题】:Progress bar and webview issue 【发布时间】:2019-02-22 02:42:11 【问题描述】:

当我用 Linear Layout 替换 Relative Layout 时,我的 webview 会占据整个屏幕,包括工具栏,但是 progress bar 工作正常 AND 当我使用Linear Layout我的网页视图从工具栏下方开始,但不显示进度条

我的 webview 应该从工具栏下方开始,中间有一个进度条。 帮我解决这个问题

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:gravity="center"
android:orientation="vertical"
tools:context=".activities.MyWebView">

<android.support.design.widget.AppBarLayout
    android:layout_
    android:layout_
    android:theme="@style/AppTheme.AppBarOverlay">
    <android.support.v7.widget.Toolbar
        android:id="@+id/wbtoolbar"
        android:layout_
        android:layout_
        android:background="?attr/colorPrimary"
        app:contentInsetLeft="0dp"
        app:contentInsetStart="0dp"
        app:popupTheme="@style/AppTheme.PopupOverlay">
        <TextView
            android:layout_
            android:layout_/>
    </android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>

<WebView
    android:id="@+id/web_view"
    android:layout_
    android:layout_></WebView>

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_
    android:layout_
    android:layout_centerInParent="true" />

【问题讨论】:

保持相对布局并在 webview 中添加 android:layout_below="@id/appbar"。并且这个 id 应该属于 AppBarLayout。 【参考方案1】:

试试这个用 RelativeLayout

替换你的 LinearLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:custom="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context=".Activities.MenuButtonActivity">


    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_
        android:layout_
        android:theme="@style/AppTheme.AppBarOverlay">
        <android.support.v7.widget.Toolbar
            android:id="@+id/wbtoolbar"
            android:layout_
            android:layout_
            android:background="?attr/colorPrimary"
            app:contentInsetLeft="0dp"
            app:contentInsetStart="0dp"
            app:popupTheme="@style/AppTheme.PopupOverlay">
            <TextView
                android:layout_
                android:layout_/>
        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>
    <WebView
        android:id="@+id/web_view"
        android:layout_
        android:layout_
        android:layout_below="@id/appbar" />

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_
        android:layout_
        android:layout_centerInParent="true" />


</RelativeLayout>

【讨论】:

以上是关于进度条和 webview 问题的主要内容,如果未能解决你的问题,请参考以下文章

IOS Swift中进度条和标签的约束

android进度条滑动条和评分控件

UWP 进度条和绑定

Xamarin Android C# 中的进度条和线程

进度条和滑动条

前端上传文件实时显示进度条和上传速度的工作原理是怎样的?