How do I fix flickering Webview in flyout upon flyout opening? - xaml

I have an app that opens a flyout via custom user control. The flyout xaml contains a webview with content given to it via "[webview].NavigateToString()".
When the flyout opens, it does a slight sliding animation from just below the center of the screen to the center of the screen and loads the content (this is the default animation).
The webview content is loaded immediately and when the flyout is finished loading everything, the webview flickers.
I have tried all of the "on load" and "loaded" events to no avail. The flicker always happens after those events.
My only workaround is to set a dispatcher timer to make the webview visible once the flyout is completely finished loading and animating.
Does anyone know how to fix this without the timer?
Note: Upon close inspection on the client machine (surface pro 3), it seems as if the webview is reloading the css style for the webview. I can see the webview with the correct style, then the "flicker" is slow enough that I can see the styling disappearing for a split second then the styling is applied again. I tried removing the styling completely and there is still a flicker. Perhaps it is reloading the entire webview after the flyout is done loading?
Edit: Ok. I have confirmed that it has to do with the default flyout transition. In another area of my app, I use a webview as part of a page. I turned on a transition for that page and the webview did the exact same flicker! Therefore if I can remove the flyout transition completely, the flicker should disappear.
Edit #2: So far I am unable to remove the transitions from the flyout.

Related

React navigation: manually change screen with swipe up effect

I have a screen with WebView (react-native-webview) which has scrollable content. If user continues scrolling after reaching the end of WebView, I want to take user to a different screen with a swipe up animation. With WebView's onScroll function property, I am able to determine if the user has reached end of content or not. But I am not able to take user to a different screen with an animation effect.
Since WebView acts different for android and ios platform (you can continue scrolling even after reaching end of content on ios), I had to use PanGestureHandler to identify if the user is performing swipe up action after reaching end of web content. But when I manually try to navigate user to a different screen, I am unable to create swipe up effect similar to one in GIF below.
I am using react-navigation v5 in my app.
I have already tried using react-native-swiper. It does not work well in Android because it internally uses Scrollable and WebView stop scrolling inside a Scrollable component.
I am using custom HTML content here, so replacing WebView is not really a choice. Is there a way to utilize Stack Navigator to create such an effect?
Thank you.

Item vertical scroll interferes with carousel horizontal scroll (Android only)

I have a carousel (using react-native-snap-carousel) where each item is a card that has a title and a WebView. On Android, when attempting to scroll the web page loaded in the webview, the gesture handler of the Carousel gets fired first most of the time. On iOS, everything works fine.
So on Android it's virtually impossible to scroll the webpage vertically without triggering the horizontal Carousel scroll.
I have created a small Demo project where you can see the issue
https://github.com/dudeinthemirror/carousel-example
The question is: is there a way to fix this behavior for Android?
Thanks for your time

How can I force overlay to show when use v-dialog?

I have a v-dialog that opens when page is loaded. Somehow overlay is lost. The behavior is very similar to this bug report: https://github.com/vuetifyjs/vuetify/issues/7798
But in my case overlay works when v-dialog loads after several seconds of page loading, and overlay is lost only when v-dialog is loaded from the very beginning. So I have to find the way to fix it or to force overlay to be shown together with dialog.
I tried to work with v-overlay (to wrap dialog content there), but it's content is not shown as well, if we try to do this while page is loading.
So how can I fix this or force overlay to work?

Animating during momentum scroll in react-native?

I'm attempting to create a custom NavBar on a screen that renders a ScrollView. Inside the NavBar, there's a button, that when pressed, causes the NavBar to translate downwards, thereby giving the appearance that the NavBar is expanding (This is done using Animated.spring() with the useNativeDriver option). Everything is working great, except if the ScrollView is still scrolling at the time the button is tapped (ie: when "momentum" scroll is taking place). In this scenario, the onPress handler that kicks off the NavBar animation is invoked as expected, but calls to Animated.spring() do not cause any animation to take place. Is it possible to either have the NavBar "expansion" animation to occur during the scroll, or pause the scroll to allow animation to proceed?
Like it's explained in RN docs the animation type you using are stoped by gesture events like scrolling, better use Animated.event() with onScrollprops combined with an interpolation animation to animate you footer.

JSP page is loaded half scrolled by default in Safari

I have a web application. It views fine in Firefox and IE. But when I use Safari, there seems to be a problem while loading pages that are long enough to have a vertical scroll bar in them. The page loads and displays the bottom or middle of the page by default. This happens only when Safari is not maximized to full screen.
Has anyone experienced this?
I figured it out. When there is a textfield that is focused, whenever the page loads or refreshes, Safari tries to keep the textfield inside the display area (unlike FF or IE). So my textfield was wayy down and so it scrolled down on every page load.