React-native: pointerEvents = {'none'} funktioniert nicht unter Android

Erstellt am 14. Juli 2019  ·  2Kommentare  ·  Quelle: facebook/react-native

Fehler

Ich versuche, pointerEvents={'none'} für die Bildkomponente zu verwenden, aber es funktioniert nicht unter Android. Es ist unter iOS wirksam.

Native Version reagieren:

 React Native Environment Info:
    System:
      OS: macOS 10.14.5
      CPU: (4) x64 Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz
      Memory: 141.91 MB / 16.00 GB
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 12.1.0 - /usr/local/bin/node
      Yarn: 1.16.0 - /usr/local/bin/yarn
      npm: 6.9.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
      Android SDK:
        API Levels: 24, 26, 27, 28
        Build Tools: 26.0.2, 27.0.3, 28.0.2, 28.0.3
        System Images: android-24 | Google APIs Intel x86 Atom, android-27 | Intel x86 Atom_64, android-28 | Intel x86 Atom_64
    IDEs:
      Android Studio: 3.0 AI-171.4443003
      Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.3 => 16.8.3 
      react-native: 0.59.9 => 0.59.9 
    npmGlobalPackages:
      react-native-cli: 2.0.1
      react-native-git-upgrade: 0.2.7

Schritte zum Reproduzieren

export default class GeneralBackground extends PureComponent {

    render() {
        return (
            <View style={styles.container}>
                {this.props.children}
                <Image
                    source={myImage}
                    style={styles.image}
                    pointerEvents={'none'} // Does not work on Android.
                />
            </View>
        );
    }

}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        backgroundColor: Colors.theme
    },
    image: {
        width: 160,
        resizeMode: 'stretch',
        alignSelf: 'center',
        position: 'absolute'
    }
});

Ich erwarte, dass this.props.children wie Button-Komponente funktionieren kann, aber nicht Bild oben. Aber es kann unter iOS über Tests funktionieren, Android ist fehlgeschlagen. Habe ich es versehentlich benutzt? Ich denke, es ist vielleicht ein Fehler.
Weiß das jemand? Vielen Dank im Voraus.

Bug Android

Hilfreichster Kommentar

Hi @ Amos729 ,

Es scheint, dass die pointerEvents -Stütze für die Image -Komponente nicht verfügbar ist: Die Suche nach pointerEvents unter https://facebook.github.io/react-native/docs/image ergab nichts.

Ich glaube, es ist nur für View Komponenten verfügbar: https://facebook.github.io/react-native/docs/view#pointerevents

So etwas tun

<View style={styles2.image} pointerEvents={'none'}> 
   <Image source={myImage} />
</View>

machte ein Kind Button auf Android anklickbar.

Hoffentlich hilft das!

Alle 2 Kommentare

Hi @ Amos729 ,

Es scheint, dass die pointerEvents -Stütze für die Image -Komponente nicht verfügbar ist: Die Suche nach pointerEvents unter https://facebook.github.io/react-native/docs/image ergab nichts.

Ich glaube, es ist nur für View Komponenten verfügbar: https://facebook.github.io/react-native/docs/view#pointerevents

So etwas tun

<View style={styles2.image} pointerEvents={'none'}> 
   <Image source={myImage} />
</View>

machte ein Kind Button auf Android anklickbar.

Hoffentlich hilft das!

@RobinCsl Ich habe versucht, was Sie gerade gesagt haben. Es ist sowohl für Android als auch für iOS sehr nützlich.
Ich danke dir sehr.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen