1

First of all, this is not the same as How to Hide ActionBar/Toolbar While Scrolling Down in Webview . I saw that solution and I am having a problem with that. It advised to wrap the webview in nestedscrollview and use flags to hide the actionbar while scrolling. The webview displays and the actionbar hides as expected. The swiperefresh layout also works. The problem is with the rendering of webpages in the webview. If the webpage has a bar that is always visible at the top of the screen even when we scroll down, that bar does not show here on scrolling down. Similarly, if the webpage has a button that is always visible on the bottom of the screen, it is showing only by scrolling to the bottom of the webpage (Not always as it should be). I am attaching screenshots for reference. It should be like this……...But it is like this

Here is my code:

activity_web.xml

<android.support.design.widget.CoordinatorLayout 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"
android:fitsSystemWindows="true"
tools:context=".web">


            <android.support.design.widget.AppBarLayout
                android:id="@+id/appbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:theme="@style/AppTheme.AppBarOverlay"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent">

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"

                    android:layout_height="40dp"

                    android:layout_weight="1"
                    android:background="@color/colorPrimary"
                    app:layout_scrollFlags="scroll|enterAlways"
                    app:popupTheme="@style/AppTheme.PopupOverlay"
                    app:title="@string/app_name"></android.support.v7.widget.Toolbar>
            </android.support.design.widget.AppBarLayout>
                <android.support.v4.widget.SwipeRefreshLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_below="@id/appbar"
                    app:layout_behavior="@string/appbar_scrolling_view_behavior">

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

                    <WebView
                        android:id="@+id/webView1"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />
                </android.support.v4.widget.NestedScrollView>
            </android.support.v4.widget.SwipeRefreshLayout>

web.java

package com.umersoftwares.autohidingactionbarwithwebview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class web extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web);
        String url="https://play.google.com";
        WebView webView = findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebChromeClient(new WebChromeClient());
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl(url);
    }
}
Zoe
  • 27,060
  • 21
  • 118
  • 148
Umer
  • 566
  • 6
  • 13

0 Answers0