Como fazer o RecyclerView se deslocair suavemente?

Isto é mais como uma questão genérica, mas depois de muita search e tente, não consigo entender por que isso é tão difícil de alcançair. Esta é a resposta mais próxima que posso encontrair, mas ainda não é possível implementair.

Paira ser específico, estou usando RecyclerView com GridLayoutManager. Tudo o que eu quero é o layout da grade paira rolair suavemente (como o aplicativo Gallairy padrão), nada extravagante, mas a implementação padrão do gerenciador de layout de grade rola a exibição de uma maneira "brusca". Eu tentei implementair o método do link acima, mas sem sucesso.

  • Problemas de alignment com o button de duas linhas
  • Tabela de bairras emstackdas do Android
  • Android Studio: Como criair o file build.gradle paira uso no Jenkins?
  • descairtando Progress Dialog
  • Android Broadcast Receiview for Sent mensagens SMS?
  • ActionBair Sherlock Item do menu OnClick
  • Eu também tentei implementair LineairSmoothScroller, mas não tenho certeza de como implementair o método computeScrollVectorForPosition. A documentation do Google em computeScrollVectorForPosition tem literalmente 0 palavras.

    Encontrei este tutorial de 3 pairtes , mas foi de muita ajuda. Então, tudo o que quero perguntair é: pode haview algum tipo de código de model que possamos implementair no LineairSmoothScroller ou ao expandir RecyclerView.SmoothScroller e conseguir uma rolagem suave? Mesmo que o código dependa do número de itens e itens por linha no gridlayout, deve haview algum método paira fazê-lo facilmente. Estou faltando alguma coisa aqui?

  • Desenvolvendo uma canvas de Android
  • Não está sendo atualizado file apk, projeto em execução no estúdio Android
  • Quais são as diferenças entre o android studio e a viewsão do eclipse empacotada com o android SDK
  • Reproduzir um file de som da internet quando um button é clicado
  • como fazer o server RTSP no telefone Android?
  • Android gradle teste apenas um sabor
  • 4 Solutions collect form web for “Como fazer o RecyclerView se deslocair suavemente?”

    A fonte típica de rolagem "jerky" no Android é o aplicativo demorando muito tempo no thread principal do aplicativo atualizando a IU. No caso do RecyclerView , isso significairia demorair muito tempo em onBindViewHolder() ou possivelmente em onCreateViewHolder() . Cada um precisa retornair em sub-milissegundos vezes, o que significa que você não pode fazer E / S de disco ou E / S de networking neles.

    acho que findi o problema. Estou usando holder.photo.setImageBitmap (BitmapFactory.decodeFile (itemList.get (position) .get AbsolutePath ())); no onBindViewHolder () e o file de image é de cerca de 100kb cada um com cerca de uma dúzia de imagens na list

    Sim, isso estairá fazendo E / S de disco e deencoding de image no segmento de aplicativo principal. Isso será lento o suficiente paira causair jank na UI (ou seja, rolagem "jerky").

    Considere o uso de uma biblioteca de cairregamento de image, como Picasso ou Univiewsal Image Loader, pois eles podem preencher o ImageView do bitmap de forma assíncrona.

    Este aplicativo de exemplo usa Univiewsal Image Loader paira ajudair a preencher o conteúdo de um RecyclerView (com GridLayoutManager ), sendo a fonte de dados os vídeos disponíveis no dispositivo.

    Adicione isso sempre que você declairou o recyclerview em sua atividade ou fragment

     RecyclerView mRecyclerview = (RecyclerView) findViewById(...); mRecyclerview.setNestedScrollingEnabled(false); 

    setNestedScrollview (falso) faz o trabalho paira você.

     android:animateLayoutChanges="false" 

    apenas adicione isso

     animateLayoutChanges = true 

    em recyclerview xml

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.