滚到到指定位置:
final TextView titleTwo = (TextView) findViewById(R.id.title_two); final boolean scrollDown = getIntent().getBooleanExtra(SCROLL_DOWN, false); mRootScrollView = (ScrollView) findViewById(R.id.root); if (scrollDown) { mRootScrollView.post(new Runnable() { @Override public void run() { //To change body of implemented methods use File | Settings | File Templates. // mRootScrollView.fullScroll(ScrollView.FOCUS_DOWN); int[] location = new int[2]; titleTwo.getLocationOnScreen(location); int offset = location[1] - mRootScrollView.getMeasuredHeight(); if (offset < 0) { offset = 0; } mRootScrollView.smoothScrollTo(0, offset); } }); }
滚到到底部:
mRootScrollView.fullScroll(ScrollView.FOCUS_DOWN);
滚动到顶部:
mRootScrollView.fullScroll(ScrollView.FOCUS_UP);
注意需要post 一个runnable,让其在消息队列中执行滚动!