将WebView与设计支持库一起使用

时间:2015-07-06 14:10:15

标签: webview android-5.0-lollipop

我想用设计支持库做很多事情。例如,滚动时显示/隐藏浮动操作按钮。

要实现此行为,请在NestedScrollView中放置一个WebView,它放在CoordinatorLayout中。

我完成了与此处描述完全相同的其余内容:https://guides.codepath.com/android/Floating-Action-Buttons

我遇到的问题是在NestedScrollView中放置WebView时存在多个问题:滚动内部html组件无法正常工作,当我加载的网页比之前显示的网页小时,会出现一个空白区域WebView的底部。

我应该使用NestedScrollView吗?有谁知道如何在Android支持库中正确使用WebView?当我删除NestedScrollView

时,这两个问题都消失了
<android.support.v4.widget.DrawerLayout       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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" 
android:background="#FFFFFF">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="@dimen/toolbarHeight">

    <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toolbar"
        style="@style/toolbarStyle"
        android:layout_width="match_parent"
        android:layout_height="@dimen/toolbarHeight" >

        <RelativeLayout
            android:id="@+id/focusHolder"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:layout_centerVertical="true"
            >

            <ImageButton
                android:id="@+id/refreshBtn"
                android:src="@drawable/refreshicon"
                android:layout_width="48dp"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:background="@null" />

            <EditText
                android:id="@+id/addressBar"
                android:layout_width="match_parent"
                android:layout_height="30dp"
                android:layout_toLeftOf="@id/refreshBtn"
                android:singleLine="true"
                android:imeOptions="actionGo"
                android:layout_centerVertical="true"
                android:drawableLeft="@drawable/searchicon"
                android:drawablePadding="5dp"
                style="@style/addressBarStyle"/>

        </RelativeLayout>
    </android.support.v7.widget.Toolbar>
    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="match_parent"
        android:layout_height="3dp"
        style="?android:attr/progressBarStyleHorizontal"
        android:indeterminate="false"
        android:layout_alignParentBottom="true"
        android:progressDrawable="@drawable/progressbar"/>
    </RelativeLayout>

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"    
    >

   <android.support.v4.widget.NestedScrollView
    android:id="@+id/nestedScrollView"
    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" />


        <!-- circular progressbar 
        <ProgressBar
            android:id="@+id/progressBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true" />
         -->
   </android.support.v4.widget.NestedScrollView>

   <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        app:backgroundTint="@color/darkGreen"
        app:borderWidth="0dp"
        app:layout_behavior="com.example.fastbrowser.ScrollAwareFABBehavior"
        android:clickable="true" />

     </android.support.design.widget.CoordinatorLayout>
   </LinearLayout>

   <!-- Nav drawer -->

 <fragment
 android:id="@+id/navigation_drawer"
 android:name="com.example.fastbrowser.NavigationDrawerFragment"
 android:layout_width="@dimen/navigation_drawer_width"
 android:layout_height="match_parent"
 android:layout_gravity="start"
 android:layout_marginTop="@dimen/toolbarHeight"
 tools:layout="@layout/fragment_navigation_drawer" />

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

0 个答案:

没有答案