Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull to refresh will not trigger in android when there's no scroll bar #1683

Closed
2 tasks done
emulatorchen opened this issue Jun 5, 2023 · 4 comments
Closed
2 tasks done
Labels
bug Something isn't working stale

Comments

@emulatorchen
Copy link

emulatorchen commented Jun 5, 2023

  • I have read the Getting Started section
  • I have already searched for the same problem

Environment

Technology Version
Flutter version 3.10.2
Plugin version 6.0.0-beta.20 - 6.0.0-beta.23
Android version 12, 13
iOS version 14.3.1, 14.2
macOS version
Xcode version 14.2

Device information:

  • Android simulator in version 13

  • Samsung S20 Ultra

  • iPhone Pro Max simulator 14.2

  • iPhone Pro Max 14.3.1

Description

Expected behavior:
Pull To Refresh should trigger the event

Current behavior:
Pull To Refresh will not trigger the event in android

Steps to reproduce

Precondition:

  • TestUrl: a webpage use body { height: 100%}
  • Setup PullToRefresh code as the doc described for iOS and Android
  • Add a log to the onRefresh event
  • Deploy code to above 4 devices

Steps:

  1. When test the app with TestUrl
  2. And pull the webpage to refresh
  3. Expect that
    a. iPhone simulator should show refresh icon
    b. iPhone device should show refresh icon
    c. Android simulator should show refresh icon
    d. Samsung S20 Ultra should show refresh icon
  4. Actual Result
    a. iPhone simulator show refresh icon ✅
    b. iPhone device show refresh icon ✅
    c. Android simulator does not show refresh icon nor the page was not dragged ❌
    d. Samsung S20 Ultra does show refresh icon nor the page was not dragged ❌

There will have no log output in android for onRefresh

P.S.

  • Workaround: update the page body{ height:101%} to force a scroll bar will work.
  • Once there's a scroll bar in android and it's able to refresh, there will have log output for onRefresh
  • There's a similar issue found but the case was not even for iOS and also the plugin version is also not in 6, where I did not verify 5.x and old versions of target platform. Unable to pull to refresh (nothing happens) #1021

Stacktrace/Logcat

There's no stack trace when trying PullToRefresh in android

@emulatorchen emulatorchen added the bug Something isn't working label Jun 5, 2023
@github-actions
Copy link

github-actions bot commented Jun 5, 2023

👋 @emulatorchen

NOTE: This comment is auto-generated.

Are you sure you have already searched for the same problem?

Some people open new issues but they didn't search for something similar or for the same issue. Please, search for it using the GitHub issue search box or on the official inappwebview.dev website, or, also, using Google, StackOverflow, etc. before posting a new one. You may already find an answer to your problem!

If this is really a new issue, then thank you for raising it. I will investigate it and get back to you as soon as possible. Please, make sure you have given me as much context as possible! Also, if you didn't already, post a code example that can replicate this issue.

In the meantime, you can already search for some possible solutions online! Because this plugin uses native WebView, you can search online for the same issue adding android WebView [MY ERROR HERE] or ios WKWebView [MY ERROR HERE] keywords.

Following these steps can save you, me, and other people a lot of time, thanks!

@alllohaaa
Copy link

there is one more temp workaround, but I'm not sure if there are any drawbacks

InAppWebView.java

  public boolean canScrollVertically() {
    return true; //computeVerticalScrollRange() > computeVerticalScrollExtent();
  }

Copy link

github-actions bot commented Oct 3, 2024

This issue is stale and has been automatically closed because it has been open for more than 365 days with no activity. Please reopen a new issue if you still have it.

@github-actions github-actions bot added the stale label Oct 3, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 3, 2024
@bigr00
Copy link

bigr00 commented Oct 18, 2024

It is still an issue, as when the page is not scrollable then the pull to refresh feature does not work at all.

I tried using the alwaysBounceVertical: true and disallowOverScroll:false combo in InAppWebViewSettings, which by documentation should enable scrolling, but even that does not work:
https://pub.dev/documentation/flutter_inappwebview/latest/flutter_inappwebview/InAppWebViewSettings/alwaysBounceVertical.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working stale
Projects
None yet
Development

No branches or pull requests

3 participants