Eine einfache Möglichkeit, in Ihrer Recycler-Ansicht zu suchen, ohne eine ständig angezeigte Suchansicht zu haben.
Wie funktioniert es?
Wollten Sie schon immer eine Recycler-Ansicht mit Suchleiste? Das ist eine einfache Bibliothek, mit der Sie Ihre Recycler-Ansicht in mein benutzerdefiniertes Layout einbinden können, das eine versteckte Suchansicht bereitstellt, die Sie anzeigen können, indem Sie im Recycler nach oben/unten scrollen.
Um diese Bibliothek in Ihr Android-Projekt einzubinden, müssen Sie gradle
verwenden.
compile ' com.nicolettilu:hiddensearchwithrecyclerview:0.0.5 '
So funktioniert es:
< 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>
Sie müssen Ihre RecyclerView
mit dem benutzerdefinierten Layout umschließen, das die Bibliothek bereitstellt. Derzeit bietet die Bibliothek folgende Konfigurationen an:
< 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 -->
Sie können diese Attribute in der XML-Datei anpassen:
< 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>
Und auch im Code:
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
Hier einige Beispiele der Ergebnisse:
Standardbeispiel | Scrollen Sie nach oben/unten, bevor Sie SearchView ein-/ausblenden | SearchView wird im Init-Beispiel angezeigt |
---|---|---|
Copyright © 2018
Luca Nicoletti
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern und Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHT-INHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, WEDER AUS EINER VERTRAGLICHEN HANDLUNG, AUS unerlaubter Handlung ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IN ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ERGEBEN SOFTWARE.