Я хочу скрыть строку заголовка при прокрутке элементов в ListView, и я хочу показать строку заголовка после прокрутки. Предложите любые идеи для решения этой проблемы.Скрыть панель заголовка во время прокрутки и показать строку TItle после прокрутки?
0
A
ответ
0
Сначала добавьте Xml View в ActionBar так:
LayoutInflater inflater = (LayoutInflater) getActionBar()
.getThemedContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View customActionBarView = inflater.inflate(R.layout.main, null);
final ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(
ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME);
actionBar.setCustomView(customActionBarView,
new ActionBar.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
setContentView(R.layout.main);
Затем сделайте изменения в onScrollStateChanged() метод:
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case SCROLL_STATE_IDLE:
actionBar.show();
break;
case SCROLL_STATE_TOUCH_SCROLL:
actionBar.hide();
break;
}
}
0
//declare this two globally
public static int ch = 0, cht = 1;
int myLastVisiblePos;
//Then add onScrollListener to your ListView
list.setOnScrollListener(new OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int currentFirstVisPos = view.getFirstVisiblePosition();
if (currentFirstVisPos > myLastVisiblePos) {
if (ch == 1) {
ch++;
cht = 1;
getActionBar().hide();
} else if (ch == 0) {
getActionBar().show();
ch++;
}
}
if (currentFirstVisPos < myLastVisiblePos)
if (cht == 1)
getActionBar().show();
myLastVisiblePos = currentFirstVisPos;
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
}
});
0
Салам.
Это решение работает для меня очень хорошо:
// mLastFirstVisibleItem defined globally
quranTextList.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
/**
* Hide actionbar when scroll down
*/
if (mLastFirstVisibleItem < firstVisibleItem)
if (getSupportActionBar().isShowing())
getSupportActionBar().hide();
if (mLastFirstVisibleItem > firstVisibleItem)
if (!getSupportActionBar().isShowing())
getSupportActionBar().show();
mLastFirstVisibleItem = firstVisibleItem;
}
});
Источник: Android ActionBar hide/show when scrolling list view
Смежные вопросы
- 1. Показать скрытую панель прокрутки
- 2. Скрыть панель прокрутки RecyclerView
- 3. Навигационная панель фиксированная после прокрутки?
- 4. Скрыть полосу прокрутки во время анимации всплеска
- 5. Android рушится панель инструментов во время прокрутки/прокрутки вкладки
- 6. Как скрыть полосу прокрутки во время прокрутки содержимого?
- 7. скрытие панели инструментов временно во время прокрутки
- 8. Липкая боковая панель снизу во время прокрутки
- 9. Липкая боковая панель мерцает во время прокрутки
- 10. Как скрыть и показать панель инструментов материала при прокрутке прокрутки?
- 11. Рассчитать смещение прокрутки во время прокрутки пользователя
- 12. Исправлен заголовок во время прокрутки
- 13. (mobile) Как сохранить навигационную панель скрытой во время прокрутки
- 14. Как запретить отключение полосы заголовка во время прокрутки
- 15. Wpf Показать \ Скрыть строку заголовка
- 16. Показать div после прокрутки назад
- 17. Скрыть строку заголовка и показать панель навигации в PhoneGap андроида
- 18. Прокрутка вниз: Показать и скрыть строку заголовка
- 19. Скрыть панель прокрутки окна с переполнением-y, установленным для прокрутки
- 20. NSTimer останавливается во время прокрутки
- 21. Исправлена панель навигации после прокрутки
- 22. Показать div после прокрутки и скрыть при прокрутке назад
- 23. Скрыть панель действий в списке прокрутки
- 24. Отключить полосу прокрутки во время splshpage загрузки
- 25. Скрыть прокрутки/удалить полосы прокрутки
- 26. Потеря анимации во время прокрутки
- 27. Бруса прокрутки во время .notifyDataSetChanged()
- 28. Скрыть/показать строку состояния во время выполнения
- 29. Как заставить панель прокрутки появляться все время?
- 30. Показать/скрыть заголовок на основе положения прокрутки
наконец я сделал это на основе коммутатора в случае onScrollStateChanged() ... И это прекрасно работает для меня. – Ashok