如何使Webview与嵌套的scrollview一起使用?

时间:2019-05-07 10:05:37

标签: android webview scrollview swiperefreshlayout

我创建了一个浏览器,顶部带有工具栏。我需要工具栏来隐藏滚动条。经过几天的努力,我终于设法使用嵌套的滚动视图在滚动条上隐藏了工具栏。问题是,一旦我获得了想要的工具栏,webview就开始发挥作用。在webview的顶部,它和工具栏之间约有3/4英寸的蓝绿色间隙。现在,无论网站上的内容如何,​​Webview都仅小于实际的屏幕尺寸。当我向上滚动时,Webview会在屏幕外滚动。它将一直在屏幕上上下滚动,最终在webview的底部与屏幕的顶部相遇时停止,从而使整个屏幕都呈现蓝绿色。我已经尝试了Java main中的几种方法来尝试解决问题,但是一旦该活动开始,它们都会使我的应用程序崩溃。出现的另一个问题是刷卡刷新停止工作。一旦部署了嵌套滚动视图,它便停止工作。如有必要,我可以提供屏幕截图。我在xml布局中尝试了许多不同的安排。有些会产生错误,有些会使应用程序崩溃,因此我可以根据实际设置最接近此设置。您会在工具栏中看到一个edittext和一些按钮;我在想这是在工具栏中处理地址栏的正确方法,因此我想像这样。它的行为应该与其他任何具有隐藏工具栏的移动浏览器一样,这就是我要实现的目标。有什么想法吗?

     <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="-7dp"
    android:layout_marginTop="0dp"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="fill_vertical"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">


            <android.support.design.widget.AppBarLayout
                android:id="@+id/appbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">



                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    android:layout_alignStart="@+id/main_content"
                    android:layout_alignTop="@+id/main_content"
                    android:background="#DD000000"
                    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                    app:layout_scrollFlags="scroll|enterAlways"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">




                    <android.support.v7.widget.AppCompatEditText
                        android:id="@+id/input_search_url"
                        android:layout_width="263dp"
                        android:layout_height="40dp"
                        android:layout_alignParentStart="true"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentTop="true"
                        android:layout_marginStart="15dp"
                        android:layout_marginLeft="15dp"
                        android:layout_marginTop="8dp"
                        android:layout_marginBottom="8dp"
                        android:autofillHints=""
                        android:background="#0000D1"
                        android:ems="10"
                        android:gravity="start|center"
                        android:hint="Search or Enter Url"
                        android:imeOptions="actionGo"
                        android:importantForAutofill="auto"
                        android:inputType="textUri"
                        android:textColorHighlight="#39ff14"
                        android:textSize="18sp"
                        app:layout_constraintBottom_toBottomOf="parent"
                        app:layout_constraintEnd_toEndOf="@+id/home_button"
                        app:layout_constraintHorizontal_bias="0.0"
                        app:layout_constraintStart_toStartOf="parent"
                        app:layout_constraintTop_toTopOf="parent"
                        app:layout_constraintVertical_bias="0.0" />

                    <Button
                        android:id="@+id/go"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:layout_alignParentTop="true"
                        android:layout_alignParentEnd="true"
                        android:layout_alignParentRight="true"
                        android:layout_gravity="right"
                        android:layout_marginTop="11dp"
                        android:layout_marginEnd="37dp"
                        android:layout_marginRight="-20dp"
                        android:background="#8E24AA"
                        android:text="Go!"
                        android:textSize="8sp" />

                    <Button
                        android:id="@+id/button"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:layout_alignParentStart="true"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentBottom="true"
                        android:layout_gravity="right"
                        android:layout_marginStart="0dp"
                        android:layout_marginLeft="0dp"
                        android:layout_marginBottom="0dp"
                        android:background="#DD000000" />

                    <Button
                        android:id="@+id/clear"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:layout_alignParentTop="true"
                        android:layout_alignParentEnd="true"
                        android:layout_alignParentRight="true"
                        android:layout_marginTop="5dp"
                        android:layout_marginEnd="90dp"
                        android:layout_marginRight="90dp"
                        android:background="@drawable/ic_clear_24dp"
                        android:backgroundTint="#0000D1" />

                    <TextView
                        android:id="@+id/textProgress"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentTop="true"
                        android:layout_alignParentEnd="true"
                        android:layout_alignParentRight="true"
                        android:layout_marginTop="-32dp"
                        android:layout_marginEnd="405dp"
                        android:layout_marginRight="405dp"
                        android:linksClickable="true"
                        android:longClickable="true"
                        android:scrollHorizontally="true"
                        android:textSize="24sp"
                        android:visibility="invisible" />


                    <ProgressBar
                        android:id="@+id/anotherProgressBar"
                        style="?android:attr/progressBarStyleHorizontal"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_alignParentStart="true"
                        android:layout_alignParentTop="true"
                        android:layout_marginStart="0dp"
                        android:layout_marginTop="53dp" />
                </android.support.v7.widget.Toolbar>



                <android.support.v4.widget.SwipeRefreshLayout
                    android:id="@+id/swipe"
                    android:layout_width="match_parent"
                    android:layout_height="644dp"
                    android:layout_alignParentStart="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginStart="-1dp"
                    android:layout_marginTop="62dp">


                    <WebView
                        android:id="@+id/webView"
                        android:layout_width="match_parent"
                        android:layout_height="640dp"
                        android:layout_alignParentStart="true"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentTop="true"
                        android:layout_marginStart="0dp"
                        android:layout_marginLeft="0dp"
                        android:layout_marginTop="51dp"
                        android:forceHasOverlappingRendering="true"
                        android:linksClickable="true"
                        android:longClickable="true"
                        android:scrollHorizontally="true" />

                </android.support.v4.widget.SwipeRefreshLayout>

                <Button
                    android:id="@+id/home_button"
                    android:layout_width="63dp"
                    android:layout_height="36dp"
                    android:layout_alignParentTop="true"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:layout_marginTop="691dp"
                    android:layout_marginEnd="170dp"
                    android:layout_marginRight="170dp"
                    android:background="@drawable/ic_home_black_18dp"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintHorizontal_bias="1.0"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

            </android.support.design.widget.AppBarLayout>
        </android.support.v4.widget.NestedScrollView>
    </android.support.design.widget.CoordinatorLayout>
</RelativeLayout>

0 个答案:

没有答案