Reputation: 51
I have a scrollView in which while I am at end of the scrollView, on clicking a button at the end I need to show a view below that button. I am doing it by changing the visibility of that newly added view from GONE to VISIBLE. Its working but after clicking the button I am not able to see the newly added view i.e I need to scroll down the scrollView to show that view. Is there a way to scroll the ScrollView to that newly added view after clicking the button? and also to hide that view and scroll back to normal state after clicking that button again.
Thanks in advance!
Upvotes: 0
Views: 912
Reputation: 51
As the view that i was adding at the end was added with an expand animation so i used a countdown timer for it as follows:
new CountDownTimer(500, 1) {
public void onTick(long millisUntilFinished) {
myScrollView.scrollTo(0, R.id.bottomView);
}
public void onFinish() {
}
}.start();
Thats all.
Upvotes: 0
Reputation: 507
it's an alternative which pretty much does the same thing.
Instead of Scrolling to the bottom of the screen, change the focus to a view which is located at the bottom of the screen.
That is, Replace:
scroll.scrollTo(0, scroll.getBottom());
with:
Footer.requestFocus();
Make sure you specify that the view, say 'Footer' is focusable.
android:focusable="true"
android:focusableInTouchMode="true"
or if above is not working try this
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
Upvotes: 1