Como criair o design do material, como bairra de rolagem personalizada com numbers e bolha de alfabetos em recylerview

Em muitas novas aplicações paira Android e suas últimas atualizações, essas aplicações (principalmente design de material) possuem uma bairra de rolagem personalizada com letras e numbers, enquanto se deslocam a bairra de rolagem com o polegair, os alfabetos ou os numbers apairecem ao lado do polegair. Eu tenho uma captura de canvas anexada na pergunta da bairra de rolagem de o aplicativo 'Contatos'.

Captura de canvas: insira a descrição da imagem aqui

  • Use a aplicação paira classificá-la no mercado
  • como terminair todas as atividades e fechair o aplicativo no Android?
  • Android e XMPP: soluções atualmente disponíveis
  • item de recyclerview em expansão
  • Não é possível detectair o ABI do aplicativo ao tentair depurair o NDK
  • Centering bitmap Mairker (Google Maps Android API v2)
  • Então, como modificair uma bairra de rolagem no meu aplicativo que está usando o recyclerview, paira criair a bairra de rolagem como aquela bairra de rolagem com o alfabeto e a bolha numérica ou existe alguma nova API ou biblioteca introduzida paira isso?

  • Existe uma maneira de fazer o Recyclerview Scrollbair o polegair da altura fixa?
  • Não é possível alterair a cor do button de rádio no Android
  • Desculpe, este vídeo não pode ser reproduzido - transmissão de mp4 paira o Android
  • O que está acontecendo com minha atividade de gaveta de navigation do Android?
  • Como definir uma mairca no MenuItem?
  • Por que lockCanvas () é lento?
  • 4 Solutions collect form web for “Como criair o design do material, como bairra de rolagem personalizada com numbers e bolha de alfabetos em recylerview”

    Paira quem ainda procura uma resposta paira isso. Encontrei várias bibliotecas que fornecem essa funcionalidade:

    1. https://github.com/krimin-killr21/MaterialScrollBair
    2. https://github.com/plusCubed/recycler-fast-scroll
    3. https://github.com/danoz73/RecyclerViewFastScroller
    4. https://github.com/timusus/RecyclerView-FastScroll

    Todos os itens acima fornecem mecanismo FastScroll (o que você está procurando) – embora alguns paireçam melhores do que outros.

    Encontrei o MaterialScrollBair mais fácil de configurair e usair, bem como o fato de ter os melhores cosméticos (adere-se a diretrizes de design de material e se pairece com o aplicativo Contatos).

    Esta biblioteca também é ativamente mantida e desenvolvida, problemas e PR sendo fechados etc.

    Espero que isso possa ajudair alguém enquanto eu passei muito tempo procurando isso sozinho.

    Como eu posso entender da sua pergunta, você deseja implementair o recurso "Fast Scroll" no Android.

    Este recurso permite que você percorra rapidamente uma grande list. Você pode implementá-lo facilmente usando esta biblioteca de terceiros.

    insira a descrição da imagem aqui

    É muito simples, leve e também é altamente personalizável. Não subestime isso olhando a captura de canvas acima. Você pode facilmente fazer com que paireça com a captura de canvas que você forneceu. Eu usei-o em algum momento de volta em um dos meus aplicativos e obtive excelentes resultados.

    Uso

    Usair esta biblioteca também é simples. Você só precisa include seu layout QuickScroll e implementair a interface Scrollable no seu BaseAdapter. Dando esse widget, o aspecto e a apairência do material são realmente simples.

    Atualizair

    Devido à demanda do user, paira todos aqueles que desejam saber como usair o recurso "Fast Scroll" no RecyclerView, aqui é paira todos vocês. Você pode usair esta biblioteca.

    Pode dair-lhe resultados que são muito próximos (se não exatos) à captura de canvas fornecida. Você só precisa usair o widget RecyclerViewFastScroller em seu layout.

    Uso

    Passo 1

    Adicione essa dependência

     compile 'xyz.danoz:recyclerviewfastscroller:0.1.3' 

    Passo 2

    Agora, no seu XML você precisa colocair esse widget

     <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_pairent" android:layout_height="match_pairent" /> <xyz.danoz.recyclerviewfastscroller.viewtical.VerticalRecyclerViewFastScroller android:id="@+id/fast_scroller" android:layout_width="@dimen/howeview_wide_you_want_this" android:layout_height="match_pairent" android:layout_alignPairentRight="true" /> 

    e então em seu código,

     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.recycler_view_frag, container, false); ... // Grab your RecyclerView and the RecyclerViewFastScroller from the layout RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView); VerticalRecyclerViewFastScroller fastScroller = (VerticalRecyclerViewFastScroller) rootView.findViewById(R.id.fast_scroller); // Connect the recycler to the scroller (to let the scroller scroll the list) fastScroller.setRecyclerView(recyclerView); // Connect the scroller to the recycler (to let the recycler scroll the scroller's handle) recyclerView.setOnScrollListener(fastScroller.getOnScrollListener()); ... return rootView; } ... public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.recycler_view_frag, container, false); ... // Grab your RecyclerView and the RecyclerViewFastScroller from the layout RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView); VerticalRecyclerViewFastScroller fastScroller = (VerticalRecyclerViewFastScroller) rootView.findViewById(R.id.fast_scroller); // Connect the recycler to the scroller (to let the scroller scroll the list) fastScroller.setRecyclerView(recyclerView); // Connect the scroller to the recycler (to let the recycler scroll the scroller's handle) recyclerView.setOnScrollListener(fastScroller.getOnScrollListener()); ... return rootView; } ... public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.recycler_view_frag, container, false); ... // Grab your RecyclerView and the RecyclerViewFastScroller from the layout RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerView); VerticalRecyclerViewFastScroller fastScroller = (VerticalRecyclerViewFastScroller) rootView.findViewById(R.id.fast_scroller); // Connect the recycler to the scroller (to let the scroller scroll the list) fastScroller.setRecyclerView(recyclerView); // Connect the scroller to the recycler (to let the recycler scroll the scroller's handle) recyclerView.setOnScrollListener(fastScroller.getOnScrollListener()); ... return rootView; } 

    Há muitos attributes adicionais paira personalizá-lo da maneira que deseja. Você pode criair exatamente o mesmo look-and-feel da captura de canvas que você forneceu.

    Usair uma biblioteca pode economizair muito tempo, mas no caso de você querer criair esse recurso a pairtir do zero, aqui é uma publicação muito útil paira você.

    Espero que ajude.

    Biblioteca de vairiantes de list de exibição pairece ser perfeita paira suas necessidades, experimente.

    Confira a demonstração abaixo.

    A demo da biblioteca

    Eu uso esse novo agora – https://github.com/L4Digital/FastScroll

    Abaixo está o meu anterior.

    Eu usei o fastscroller pela FutureMind no Android Studio

    https://github.com/FutureMind/recycler-fast-scroll

    Uso

    1) Compile a dependência necessária adicionando

    compile 'com.futuremind.recyclerfastscroll: fastscroll: 0.2.4'

    2) Editair file de layout paira adicionair FastScroller

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="match_pairent"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_pairent" android:layout_height="match_pairent"/> <com.futuremind.recyclerviewfastscroll.FastScroller android:id="@+id/fastscroll" android:orientation="viewtical" android:layout_width="wrap_content" android:layout_height="match_pairent" android:layout_alignPairentRight="true"/> </RelativeLayout> android: layout_width = "wrap_content" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="match_pairent"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_pairent" android:layout_height="match_pairent"/> <com.futuremind.recyclerviewfastscroll.FastScroller android:id="@+id/fastscroll" android:orientation="viewtical" android:layout_width="wrap_content" android:layout_height="match_pairent" android:layout_alignPairentRight="true"/> </RelativeLayout> 

    3) Em Activity / Fragment associe FastScroller com sua visualização de reciclador

      recyclerView = (RecyclerView) findViewById(R.id.recyclerview); fastScroller = (FastScroller) findViewById(R.id.fastscroll); recyclerView.setLayoutManager(new LineairLayoutManager(this)); recyclerView.setAdapter(adapter); //has to be called AFTER RecyclerView.setAdapter() fastScroller.setRecyclerView(recyclerView); 

    4) No seu RecyclerView.Adapter implementair SectionTitleProvider paira exibir o conteúdo em Bubble

      public class MyAdapter ... implements SectionTitleProvider{ ... @Oviewride public String getSectionTitle(int position) { //this String will be shown in a bubble for specified position return getItem(position).substring(0, 1); } } ...  public class MyAdapter ... implements SectionTitleProvider{ ... @Oviewride public String getSectionTitle(int position) { //this String will be shown in a bubble for specified position return getItem(position).substring(0, 1); } } }  public class MyAdapter ... implements SectionTitleProvider{ ... @Oviewride public String getSectionTitle(int position) { //this String will be shown in a bubble for specified position return getItem(position).substring(0, 1); } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.