diff --git a/ReactNativeClient/android/app/build.gradle b/ReactNativeClient/android/app/build.gradle index 683c67b87..55e558ab6 100644 --- a/ReactNativeClient/android/app/build.gradle +++ b/ReactNativeClient/android/app/build.gradle @@ -90,8 +90,8 @@ android { applicationId "net.cozic.joplin" minSdkVersion 16 targetSdkVersion 22 - versionCode 36 - versionName "0.9.23" + versionCode 37 + versionName "0.9.24" ndk { abiFilters "armeabi-v7a", "x86" } diff --git a/ReactNativeClient/lib/components/screens/note.js b/ReactNativeClient/lib/components/screens/note.js index ef64d08d3..4b74eced9 100644 --- a/ReactNativeClient/lib/components/screens/note.js +++ b/ReactNativeClient/lib/components/screens/note.js @@ -48,6 +48,7 @@ const styleObject = { }; styleObject.titleContainer = { + flex: 0, flexDirection: 'row', paddingLeft: globalStyle.marginLeft, paddingRight: globalStyle.marginRight, @@ -76,6 +77,7 @@ class NoteScreenComponent extends BaseScreenComponent { lastSavedNote: null, isLoading: true, resources: {}, + titleTextInputHeight: 20, }; this.saveButtonHasBeenShown_ = false; @@ -275,6 +277,11 @@ class NoteScreenComponent extends BaseScreenComponent { await this.saveOneProperty('todo_completed', checked ? time.unixMs() : 0); } + titleTextInput_contentSizeChange(event) { + let height = event.nativeEvent.contentSize.height; + this.setState({ titleTextInputHeight: height }); + } + render() { if (this.state.isLoading) { return ( @@ -344,6 +351,25 @@ class NoteScreenComponent extends BaseScreenComponent { const titleContainerStyle = isTodo ? styles.titleContainerTodo : styles.titleContainer; + const titleTextInputStyle = Object.assign({}, styleObject.titleTextInput); + titleTextInputStyle.height = this.state.titleTextInputHeight; + + const titleComp = ( + + { isTodo && { this.todoCheckbox_change(checked) }} /> } + this.titleTextInput_contentSizeChange(event)} + autoFocus={isNew} + multiline={true} + underlineColorAndroid="#ffffff00" + autoCapitalize="sentences" + style={titleTextInputStyle} + value={note.title} + onChangeText={(text) => this.title_changeText(text)} + /> + + ); + return ( this.saveNoteButton_press()} /> - - { isTodo && { this.todoCheckbox_change(checked) }} /> } this.title_changeText(text)} /> - + { titleComp } { bodyComponent } { actionButtonComp } { this.state.showNoteMetadata && {this.state.noteMetadata} }