I've got an Editor which is tall enough to accommodate multiple lines of input. The editor is at the bottom of the screen. Once multiple lines are entered, if you move the cursor up a line, the entire view shifts downward, so the line you just left is now obscured by the keyboard. I'd like it to not do this unless the line the cursor is on is either off screen or close to being off screen. Sort of like how the built in Android message app works. Here's what I mean in pictures.
Default state, everything looks good. We have 3 lines of input
I move the cursor up one line (either with keyboard arrow keys or just by dragging that purplish teardrop shaped handle upward): notice that the entire view has shifted down one line and so "line 3" is now obscured. I don't want this behavior (it among other things hides some UI elements).
This is the Android messaging app. This is the behavior I want: when you move the cursor to that next line, the view doesn't just shift downward. If you have enough lines to scroll past the visible area, Android just shifts the text and not the entire view to accommodate it.
What I noticed is that if I move my control up to like the middle of the screen instead of being at the bottom, then this behavior doesn't happen: moving the cursor upward doesn't scroll my editor until it's appropriate, like I want to. So why is it that because my editor is at the bottom of the screen, this behavior doesn't happen? The keyboard pans the entire screen upward.