2014-03-03 61 views
1

我有一个列表视图,列表项可以在按下它们时展开。如果我按列表中的最后一个可见项目,则不显示扩展部分。我如何滚动列表视图,以便在展开后显示完整视图?Android滚动最后可见的ListItem,直到它完全可见

+0

您是否为列表视图使用了多种视图类型? – gunar

+0

不,它是一个带有几个隐藏视图的LinearLayout,例如一个进度条 – David

回答

0

林不知道,但如果你调用scrollTo(Integer.MAX_VALUE)会发生什么?

+0

但它不是最后一个项目,它是我最后一个可见的项目 – David

+0

哦,我被名为“Android scroll last ListItem”的标题误导了, – Ripityom

1

我解决了这个问题部分地与下面的代码:

if (listItemView != null) { 
    Rect listViewRect = new Rect(); 
    Rect listItemRect = new Rect(); 
    getListView().getHitRect(listViewRect); 
    listItemView.getHitRect(listItemRect); 
    int bottom = listItemRect.bottom + listItemView.getHeight(); 
    if (bottom > listViewRect.bottom) { 
    int y = bottom - listViewRect.bottom; 
    getListView().scrollTo(getListView().getScrollX(), y); 
    } 
} 

的一个问题,现在剩下的是,当你调用scrollTo,然后你用手指按列表时要滚动像,名单滚动回到您调用scrollTo之前的位置。