I'm building a chat-like application that displays text the user inputs to the screen using a scrollview. What I'm doing is auto-scrolling the scrollview down as more text is appended to the screen. I'm using
ScrollView my_scrollview = (ScrollView) findViewById(R.id.scroller);
my_scrollview.fullScroll(ScrollView.FOCUS_DOWN);
This seems to work, although for some reason, because the keyboard is usually on screen while chatting, when the scrollview scrolls down it doesn't completely - the newest textview added is not displayed (you'll have to manually scroll down to the newest one). How do I go about fixing this?
I looked around, and found that some other people have run into the same problem.
I solved this problem using this piece of code:
final ScrollView scrollView = (ScrollView) findViewById(R.id.scroll_view);
scrollView.post(new Runnable() {
public void run() {
scrollView.fullScroll(View.FOCUS_DOWN);
}
});
Hopefully this can help somebody out there!
Did it this way on Xamarin Android project:
var scrollView = FindViewById<ScrollView>(Resource.Id.scrolview);
scrollView.Post(() =>
{
scrollView.FullScroll(FocusSearchDirection.Down);
});
Thanks to OP.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With