Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

KeyboardAvoidingView works on EXPO but not on APK?

I bought this Theme which in Expo works flawlessly, but as soon as I build the APK, the Keyboard will cover the whole screen and wont work as supposed.

I'm using expo for testing and it works just fine.

 return (
            <SafeAreaView style={styles.container}>
                <NavHeader title={thread.name} {...{navigation}} />
                <FlatList
                    inverted
                    data={messages}
                    keyExtractor={message => `${message.date}`}
                    renderItem={({ item }) => (
                        <Msg message={item} name={item.me ? name : thread.name} picture={thread.picture} />
                    )}
                />
                <KeyboardAvoidingView behavior={Platform.OS === "ios" ? "padding" : "height"} enabled>
                    <View style={styles.footer}>
                        <TextInput
                            style={styles.input}
                            placeholder="Write a message"
                            value={this.state.message}
                            onChangeText={message => this.setState({ message })}
                            autoFocus
                            blurOnSubmit={false}
                            returnKeyType="send"
                            onSubmitEditing={this.send}
                            underlineColorAndroid="transparent"
                        />
                        <TouchableOpacity primary transparent onPress={this.send}>
                            <Text style={styles.btnText}>Send</Text>
                        </TouchableOpacity>
                    </View>
                </KeyboardAvoidingView>
            </SafeAreaView>
        );

And the Styles

const styles = StyleSheet.create({
    container: {
        flex: 1
    },
    footer: {
        borderColor: Theme.palette.lightGray,
        borderTopWidth: 1,
        paddingLeft: Theme.spacing.small,
        paddingRight: Theme.spacing.small,
        flexDirection: "row",
        alignItems: "center"
    },
    input: {
        height: Theme.typography.regular.lineHeight + (Theme.spacing.base * 2),
        flex: 1
    },
    btnText: {
        color: Theme.palette.primary
    }
});

I have tried the following plugin

using the enableOnAndroid prop

https://github.com/APSL/react-native-keyboard-aware-scroll-view

with no success.

I have posted here:

https://github.com/APSL/react-native-keyboard-aware-scroll-view/issues/305

and here:

https://github.com/expo/expo/issues/2172

like image 974
Donnie Darko Avatar asked Aug 31 '18 09:08

Donnie Darko


1 Answers

Unfortunately this is a known issue

https://github.com/expo/expo/issues/2172

like image 110
Slbox Avatar answered Nov 05 '22 04:11

Slbox