React-native: pointerEvents = {'none'} tidak berfungsi di Android

Dibuat pada 14 Jul 2019  ·  2Komentar  ·  Sumber: facebook/react-native

Bug

Saya mencoba menggunakan pointerEvents={'none'} pada komponen Gambar, tetapi tidak berhasil di Android. Ini efektif di iOS.

Versi React Native:

 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

Langkah Untuk Bereproduksi

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'
    }
});

Saya berharap bahwa this.props.children seperti komponen Tombol dapat berfungsi tetapi tidak Gambar di atas. Tapi bisa bekerja di iOS melalui pengujian, Android gagal. Apakah saya menggunakannya karena kesalahan? Saya pikir itu mungkin bug.
Ada yang tahu itu? Terima kasih banyak sebelumnya.

Bug Android

Komentar yang paling membantu

Hai @ Amin ,

Tampaknya pointerEvents prop tidak tersedia pada komponen Image : mencari pointerEvents di https://facebook.github.io/react-native/docs/image menghasilkan tidak ada.

Saya yakin ini hanya tersedia untuk View komponen: https://facebook.github.io/react-native/docs/view#pointerevents

Melakukan sesuatu seperti itu

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

membuat anak-anak Button dapat diklik di Android.

Semoga membantu!

Semua 2 komentar

Hai @ Amin ,

Tampaknya pointerEvents prop tidak tersedia pada komponen Image : mencari pointerEvents di https://facebook.github.io/react-native/docs/image menghasilkan tidak ada.

Saya yakin ini hanya tersedia untuk View komponen: https://facebook.github.io/react-native/docs/view#pointerevents

Melakukan sesuatu seperti itu

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

membuat anak-anak Button dapat diklik di Android.

Semoga membantu!

@RobinCsl Saya mencoba apa yang Anda katakan sekarang. Ini sangat berguna baik platform Android dan iOS.
Terima kasih banyak.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat