Un moyen simple d'effectuer une recherche dans la vue de votre recycleur sans avoir une vue de recherche toujours affichée.
Comment ça marche ?
Vous avez toujours voulu une vue recycleur avec une barre de recherche ? Il s'agit d'une bibliothèque simple qui vous permet d'intégrer votre recyclerView dans ma mise en page personnalisée qui fournit une vue de recherche cachée que vous pouvez afficher en faisant défiler le recycleur vers le haut/bas.
Pour inclure cette bibliothèque dans votre projet Android, vous devez utiliser gradle
.
compile ' com.nicolettilu:hiddensearchwithrecyclerview:0.0.5 '
Voici comment cela fonctionne :
< com .nicolettilu.hiddensearchwithrecyclerview.HiddenSearchWithRecyclerView
android : layout_width = " match_parent "
android : layout_height = " match_parent " >
< androidx .recyclerview.RecyclerView
android : layout_width = " match_parent "
android : layout_height = " match_parent " />
</ com .nicolettilu.hiddensearchwithrecyclerview.HiddenSearchWithRecyclerView>
Vous devez envelopper votre RecyclerView
avec la mise en page personnalisée fournie par la bibliothèque. Pour le moment, la bibliothèque propose ces configurations :
< attr name = " filterWhileTyping " format = " boolean " /> <!-- default value: true -->
< attr name = " scrollToTopBeforeShow " format = " boolean " /> <!-- default value: false -->
< attr name = " scrollToBottomBeforeHide " format = " boolean " /> <!-- default value: false -->
< attr name = " visibleAtInit " format = " boolean " /> <!-- default value: false -->
< attr name = " hideAtScroll " format = " boolean " /> <!-- default value: true -->
Vous pouvez personnaliser ces attributs dans le fichier XML :
< com .nicolettilu.hiddensearchwithrecyclerview.HiddenSearchWithRecyclerView
android : id = " @+id/hidden_search_with_recycler "
android : layout_width = " match_parent "
android : layout_height = " match_parent "
app : scrollToBottomBeforeHide = " true "
app : scrollToTopBeforeShow = " true "
app : filterWhileTyping = " false "
app : visibleAtInit = " true " >
<!-- your RecyclerView here -->
</ com .nicolettilu.hiddensearchwithrecyclerview.HiddenSearchWithRecyclerView>
Et en code aussi :
val hiddenSearchWithInRecycler = findViewById( R .id.hidden_search_with_recycler) as HiddenSearchWithRecyclerView
hiddenSearchWithInRecycler.hideAtScroll = true
hiddenSearchWithInRecycler.visibleAtInit = false
hiddenSearchWithInRecycler.scrollToBottomBeforeHide = false
hiddenSearchWithInRecycler.scrollToTopBeforeShow = false
hiddenSearchWithInRecycler.filterWhileTyping = true
Voici comme exemple des résultats :
Exemple par défaut | Faites défiler en haut/en bas avant de masquer/afficher SearchView | SearchView affiché dans l'exemple d'initialisation |
---|---|---|
Copyright © 2018
Luca Nicoletti
L'autorisation est par la présente accordée, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le « Logiciel »), d'utiliser le Logiciel sans restriction, y compris, sans limitation, les droits d'utilisation, de copie, de modification, de fusion. , publier, distribuer, accorder des sous-licences et/ou vendre des copies du Logiciel, et permettre aux personnes à qui le Logiciel est fourni de le faire, sous réserve des conditions suivantes :
L'avis de droit d'auteur ci-dessus et cet avis d'autorisation doivent être inclus dans toutes les copies ou parties substantielles du logiciel.
LE LOGICIEL EST FOURNI « TEL QUEL », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS LIMITATION LES GARANTIES DE QUALITÉ MARCHANDE, D'ADAPTATION À UN USAGE PARTICULIER ET DE NON-VIOLATION. EN AUCUN CAS LES AUTEURS OU LES TITULAIRES DES DROITS D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGES OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS UNE ACTION CONTRACTUELLE, DÉLIT OU AUTRE, DÉCOULANT DE, DE OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES TRANSACTIONS DANS LE LOGICIEL.