Code example for ScrollView

Methods: getMaxScrollAmount, getHeight, getScrollY, offsetDescendantRectToMyCoords

0
        return mTempRect.top;
    } 
 
    private int getBottomWithinScrollView(View descendant) {
        descendant.getDrawingRect(mTempRect);
        mScrollView.offsetDescendantRectToMyCoords(descendant, mTempRect);
        return mTempRect.bottom;
    } 
 
    @MediumTest 
    public void testPreconditions() { 
        assertTrue("top button should be shorter than max scroll amount",
                mTopButton.getHeight() <
                mScrollView.getMaxScrollAmount());
        assertTrue("bottom button should be further than max scroll amount off screen",
                getTopWithinScrollView(mBottomButton)- mScrollView.getBottom() > mScrollView.getMaxScrollAmount());
    } 
 
    @MediumTest 
    public void testPanTopButtonOffScreenLosesFocus() { 
        sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
 
        assertEquals("scroll view should be scrolled by the max amount for one "
                + "arrow navigation", 
                mScrollView.getMaxScrollAmount(),
                mScrollView.getScrollY());
 
        assertTrue("top button should be off screen",
                getBottomWithinScrollView(mTopButton) < mScrollView.getScrollY());
 
        assertFalse("top button should have lost focus",
                mTopButton.isFocused());
 
        assertTrue("scroll view should be focused", mScrollView.isFocused());
    } 
 
    @MediumTest 
    public void testScrollDownToBottomButton() throws Exception { 
        final int screenBottom = mScrollView.getScrollY() + mScrollView.getHeight();
        final int numDownsToButtonButton =
                ((getBottomWithinScrollView(mBottomButton) - screenBottom)) / mScrollView.getMaxScrollAmount() + 1;
 
        for (int i = 0; i < numDownsToButtonButton; i++) {
            sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
        } 
 
        assertTrue("bottombutton.isFocused", mBottomButton.isFocused());
 
        assertEquals("should be fully scrolled to bottom",
                getActivity().getLinearLayout().getHeight() - mScrollView.getHeight(),
                mScrollView.getScrollY());
    } 
 
    @MediumTest 
    public void testPanBottomButtonOffScreenLosesFocus() throws Exception { 
        mBottomButton.post(new Runnable() {
Contextual code suggestions in your IDE  Get Codota for Java