Im back, and I have made some progress!
I used the following routine to on clicked textbox, it checks to see what the window size changed to, and divides that by 2 to get the halfway mark. The width stays the same half way mark, because the width did not change from the keyboard. I then set a variable to set the current value of the window size (which is the window size with the keyboard up) then once the user backs out of the keyboard, the window size changes, and I compare the value when the keyboard is up to the value when the keyboard is down as you see in the second event, and scrolls accordingly.
Here is what my phone looks like with this method put into play:
As you can see, its close! but not quite perfect, there is more white space when you backed out of the keyboard on top of the textbox, then when the keyboard is up. The event also has a wait of 0.75 seconds, it seems like the events inside the clicked on textbox gets ignored, because their is a slight delay from when the keyboard pops up, so I have to compensate for that delay by delaying the rest of the events by 0.75 seconds. That seems inefficient. Is there a way I could make it happen instantaneous? Because the user can see that delay it takes to scroll.
Edit: However, I tried it on a bigger phone with a bigger screen width & height, and my current system breaks and does not work.