Кто-нибудь знает, как реализовать панель сворачивания с использованием списка, а не просмотра recycler?Как использовать Collapsing ToolBar с ListView вместо просмотра Recycler
ответ
Чтобы сделать это ковшики вам необходимо, чтобы:
Реализовать NestedScrollingChild в вашей реализации пользовательских ListView.
Добавить поле
private final NestedScrollingChildHelper mScrollingChildHelper;
и инициализировать его в конструкторахделегата к нему методы из NestedScrollingChild
Invoke
setNestedScrollingEnabled(true);
послеmScrollingChildHelper
инициализации
Вот мой список реализация вида, например:
public class NestedScrollingListView extends ListView implements NestedScrollingChild {
private final NestedScrollingChildHelper mScrollingChildHelper;
public NestedScrollingListView(Context context) {
super(context);
mScrollingChildHelper = new NestedScrollingChildHelper(this);
setNestedScrollingEnabled(true);
}
public NestedScrollingListView(Context context, AttributeSet attrs) {
super(context, attrs);
mScrollingChildHelper = new NestedScrollingChildHelper(this);
setNestedScrollingEnabled(true);
}
@Override
public void setNestedScrollingEnabled(boolean enabled) {
mScrollingChildHelper.setNestedScrollingEnabled(enabled);
}
@Override
public boolean isNestedScrollingEnabled() {
return mScrollingChildHelper.isNestedScrollingEnabled();
}
@Override
public boolean startNestedScroll(int axes) {
return mScrollingChildHelper.startNestedScroll(axes);
}
@Override
public void stopNestedScroll() {
mScrollingChildHelper.stopNestedScroll();
}
@Override
public boolean hasNestedScrollingParent() {
return mScrollingChildHelper.hasNestedScrollingParent();
}
@Override
public boolean dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed,
int dyUnconsumed, int[] offsetInWindow) {
return mScrollingChildHelper.dispatchNestedScroll(dxConsumed, dyConsumed,
dxUnconsumed, dyUnconsumed, offsetInWindow);
}
@Override
public boolean dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow) {
return mScrollingChildHelper.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow);
}
@Override
public boolean dispatchNestedFling(float velocityX, float velocityY, boolean consumed) {
return mScrollingChildHelper.dispatchNestedFling(velocityX, velocityY, consumed);
}
@Override
public boolean dispatchNestedPreFling(float velocityX, float velocityY) {
return mScrollingChildHelper.dispatchNestedPreFling(velocityX, velocityY);
}
}
Это сработало для меня спасибо – KudzieChase
почему мы не можем обернуть список в виде вложенного scrollview? , NestedScrollView также реализует nestedscrollingchild, не так ли? –
Только добавьте этот код в свой проект.
Он работает только на устройствах Lollipop и позже.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
listView.setNestedScrollingEnabled(true);
listView.startNestedScroll(View.OVER_SCROLL_ALWAYS);
}
- 1. Android: сворачивание Linearlayout вместо Collapsing Toolbar
- 2. Collapsing Toolbar and DrawerLayout
- 3. Collapsing Toolbar and Fragment
- 4. Android Collapsing Toolbar Subtitle
- 5. Whatsapp like Collapsing Toolbar
- 6. Collapsing Toolbar Title Disappear
- 7. Anchor ImageView to Collapsing Toolbar
- 8. Collapsing Toolbar с изображением с URL-адреса?
- 9. Collapsing Toolbar - отключить прокрутку прикосновением
- 10. Collapsing toolBar Layout с Viewpager внутри NestedScrollView
- 11. Эффект Collapsing Toolbar не работает с Tablayout
- 12. Material Design Collapsing Toolbar Layout title truncation
- 13. Recycler view scrolls without collapsing toobar
- 14. Recycler View with Collapsing toolbar на панели инструментов прокрутки не сбрасывается
- 15. Как поместить несколько видов в конструкцию материалов Collapsing-Toolbar Layout
- 16. Как установить ToolBar вместо ActionBar
- 17. Как вставить вкладки с помощью Collapsing ToolBar Layout и TabLayout ниже ToolBar
- 18. ImageDetailsActivity для просмотра recycler
- 19. Как сделать Collapsing ToolBar Layout рушится нажатием кнопки?
- 20. Наложение списков ListView с ToolBar
- 21. Collapsing Toolbar с кнопкой навигации NavigationDrawer, не показывающей
- 22. Намерения внутри просмотра Recycler?
- 23. Как остановить прокрутку ToolBar Collapsing зависит от количества списков RecyclerView
- 24. ListView Recycler, удаляющий данные
- 25. Listview get Custom Toolbar
- 26. Что использовать вместо ListView
- 27. Дополнительное пространство между Collapsing Toolbar Title и Home/Up button
- 28. Collapsing Toolbar Layout - полная высота Изображение и прокрутка при запуске
- 29. Как получить контекст в адаптере просмотра recycler
- 30. Как анимировать виды внутри просмотра Recycler
Для создания сворачивания 'Toolbar' вам необходимо использовать' CoordinatorLayout'. И он работает только с интерфейсами 'ScrollingView' и' NestedScrollingChild'. 'RecyclerView' реализует его. 'ListView' нет. – eleven
Просто интересно: Не могли бы вы написать CustomView, который расширяет ListView и реализует ScrollingView и NestedScrollingChild, а затем использовать его в CollapsingToolbar? –
Okay Спасибо @Foxinsocks Думаю, мне придется перестроить кучу моего кода ListView в Recycler Views. – KudzieChase