我有一個ListView
,當我滾動向下或向上,我可以使用此解決方案檢測這樣的:當滾動回來顯示的動作條,而上一個ListView滾動起來
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) { }
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if(listView.getFirstVisiblePosition() == 0)
getActionBar().show();
else
getActionBar().hide();
}
});
這樣的作品和ActionBar
節目到列表的第一項。當我開始在列表中向上滾動時,我還想再次顯示ActionBar
。
編輯:
這是最後的方式,它的工作原理並不總是..有時動作條消失,永遠不會回來:
private int mPreviousFirst;
...
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) { }
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if(prevVisibleItem != firstVisibleItem){
if (firstVisibleItem < mPreviousFirst)
getActionBar().show();
else
getActionBar().hide();
mPreviousFirst = firstVisibleItem;
}
}
});
我很接近,但不順心的事:(
你可以檢討你發佈?我認爲一些信息丟失了,這些情況使得很難理解你的問題。 – reporter 2014-08-28 12:54:21