#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-функции увеличит высоту подвала на определенное значение. В подвале же будет размещен поиск
Комментариев нет:
Отправить комментарий