Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Появление нового элемента при скроле вниз

#android


Добрый день. Есть ToolBar и какой-то список, например Recycler View. Хочу реализовать:
при вертикальном движении пальца ВНИЗ по списку, этот список отодвигается на высоту
одного элемента списка, как используется в приложениях Instagram(скрин ниже) и Twitter,
но в моём случае должен  зафиксироваться на этом месте. В свободном месте появляется
окно EditText. При обратном движении пальца по списку(ВВЕРХ), список выезжает вверх
и упирается в ToolBar(возвращается в дефолтное состояние), а окно EditText исчезает.
Пробовал использовать swipeRefreshLayout, но при свайпе вниз, он всегда возвращается
в дефолтное состоянии без участия пользователя. 

Посоветуйте в каком направлении думать, потратил уже 2 дня, но никаких идей решения
этой задачи не нашел.


UPDATE: Я отлавливаю движение пальцем вниз способом, описанным в этой статье тык

И программно отодвигаю список Recycler View вниз, а поле EditText(которое было по
умолчанию invisible) делаю видимым. Но тут возникает другая проблема: чтение отклика
происходит в любых местах экрана, даже там где не нужно.
Может кто знает другое решение этой задачи?
    


Ответы

Ответ 1



Я бы поставил сколллисенер на список RecyclerView r = new RecyclerView(ctx); r.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); } }); А экран бы построил таким образом: [Тулбар] [Список] [............] [............] [............] [............] [Подвал] По деволту подвал имеет высоту 0 И стал бы считать, на сколько я прокрутил список вниз. В определенный момент, например, при прокрутке на 50 пикселей, я запустил бы код, который с помощью какой-нибудь ease-функции увеличит высоту подвала на определенное значение. В подвале же будет размещен поиск

Комментариев нет:

Отправить комментарий