У меня есть ListView
и когда я прокручиваю вниз или вверх, я могу обнаружить это с помощью этого решения:Показать ActionBar при прокрутке вверх на 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
, когда я начну прокрутку вверх по списку.
EDIT:
это последний путь, и он работает не всегда .. иногда 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