现在的位置: 首页 > 综合 > 正文

ScrollView滚动到指定位置

2014年06月03日 ⁄ 综合 ⁄ 共 715字 ⁄ 字号 评论关闭

滚到到指定位置:

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,让其在消息队列中执行滚动!

抱歉!评论已关闭.