我用来react-native-webview在我的 React Native 应用程序中呈现 WebView。在 iOS 上一切正常,但在 Android 上,当 WebView 呈现时,我的屏幕闪烁(黑色,然后白色,然后显示网页)。
根据这个答案,我尝试添加myandroid:hardwareAccelerated="false"的<application>标签AndroidManifest.xml,但这并不能解决我的问题。(此外,它隐藏了使用elevationstyle 属性创建的所有阴影效果)
<DelayedComponent key={key} style={{ height: 200, ...style }}>
<WebView
style={{ alignSelf: "stretch" }}
source={{ uri: /* a youtube url */ }}
renderLoading={() => <Loading />}
startInLoadingState={true}
scrollEnabled={false}
/>
</DelayedComponent>
Run Code Online (Sandbox Code Playgroud)
<DelayedComponent>只是一个测试组件,<WebView>在一秒后呈现(使用基本的 setTimeout)。
export class DelayedComponent extends React.PureComponent<
{ delay?: number; renderLoading?: any } & ViewProps,
{ show: boolean }
> {
constructor(props) {
super(props); …Run Code Online (Sandbox Code Playgroud)