scrolling form TextInput in Scroll View doesn't work when textAlign in set to right or center(android only)
See original GitHub issueIs this a bug report?
YES
Have you read the Contributing Guidelines?
NO
Environment
Environment: OS: Linux 4.8 Node: 8.6.0 Yarn: 1.1.0 npm: 5.3.0 Watchman: Not Installed Android Studio: 2.3 AI-162.4069837
Packages: (wanted => installed) react-native: 0.48.4 => 0.48.4 react: 16.0.0-alpha.12 => 16.0.0-alpha.12
Target Platform: Android (6.0.1)
Steps to Reproduce
- Created a scroll view with some text Input component inside of it
- set textAlign : ‘right’ or ‘center’ in text Input styles
- try to scroll down or up from inside of text input, but text Input is focused and doesn’t scroll up or down in scroll view the issue is present in android only
Expected Behavior
it must be possible to scroll in the scroll view when you tap a text Input, and then scroll, it works on textAlign : ‘left’,
Actual Behavior
the scrolling doesn’t work if you start scrolling on a text input
Reproducible Demo
cause my country restriction, I don’t have access to expo, so I just shared a small code that reproduce the problem
export default class ScrollViewWithTextInput extends React.Component { render() { return ( <ScrollView> <TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /> <TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /><TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /><TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /> <TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /> <TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /><TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /><TextInput style={styles.input} placeholder={'توضیحات'} underlineColorAndroid='transparent' /> </ScrollView> ) }} const styles = StyleSheet.create({ Container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, input: { width: 350, height: 100, margin: 5, borderColor: 'black', borderWidth: 2, textAlign: 'right' }})
Issue Analytics
- State:
- Created 6 years ago
- Reactions:2
- Comments:14 (1 by maintainers)
Top GitHub Comments
I have been experiencing this issue since yesterday, issue is still alive. i’m using react native 0.53. This is only in android not in ios. The workaround is to add multiline={true} but my problem is it doesn’t help with my scenario i cannot have multiline enabled.
@Luckygirlllll add multiline={true} , keyboardType={‘default’}, maxLength={10} to textInput props. it should work, i think that maxLength isn’t necessary, but I didn’t check