2016-08-31 3 views
2

Я хочу добавить в верхнюю кнопку в своем приложении. Я использую recyclerview для отображения элементов. Я добавил кнопку, и когда я нажимаю на нее, просмотр будет наверху, но моя цель - показать эту кнопку, только если приложение прокручивается вниз или вверх, и мой первый элемент не отображается (надеюсь, это четкое объяснение). Я пробовал сRecyclerView перейти к верхней кнопке

LayoutManager.findFirstCompletelyVisibleItemPosition(); 

и другие методы LayoutManager, но без приемлемых эффектов.

+0

Вы пытались добавить строку кода в onScrollListener? потому что если вы прокрутите, вы получите результат от этого. –

+0

@ R.Zagórski его не дублирует, потому что я знаю, как добавить кнопку и ее работу, но я хочу скрыть кнопку, когда мне он не нужен – porgo

+0

@ R.Adang, конечно, не :) Спасибо за ваш совет. Я решил свою проблему! – porgo

ответ

1

Мое решение показано ниже. Я добавляю OnScrollListener в свой RecyclerView, и когда просмотр прокручивается, я проверяю, является ли первый элемент видимым, и я устанавливаю видимость моей кнопки.

MyRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
     super.onScrollStateChanged(recyclerView, newState); 
    } 

    @Override 
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
     int visibility = (MyLayoutManager.findFirstCompletelyVisibleItemPosition() != 0) ? View.VISIBLE : View.GONE; 
     btn.setVisibility(visibility); 
    } 
}); 
Смежные вопросы