我想用设计支持库做很多事情。例如,滚动时显示/隐藏浮动操作按钮。
要实现此行为,请在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>