Comment le style Android SearchView comme dans le Google Play Store?
Je suis en train de style un SearchView
dans un toolbar
à regarder et à se comporter comme le SearchView
dans le Google Play Store app
. Il semble envelopper le searchview dans un cardview mais il semble aussi à intégrer le bouton haut /tiroir bascule comportement.
C'est l'activité principale searchView, il a intégré tiroir bascule
lorsque vous cliquez dessus, le tiroir de la bascule change la flèche (qui lorsqu'il est cliqué va supprimer à partir de l'affichage de la recherche)
Lorsque vous cliquez sur une application dans le magasin, vous accédez à l'app page détail, et vous avez ce qui ressemble à une icône de la version de l'affichage de la recherche comme un effondrement de l'action de l'élément avec la touche up:
Enfin, si vous cliquez sur l'icône de recherche, il s'étend comme un point d'action (avec une sorte d'ondulation de l'animation) et affiche tout le chemin à travers l'écran et intègre le bouton haut:
Quand j'essaie de le faire moi-même, j'ai beaucoup de problèmes. J'ai essayé d'envelopper le searchview dans un cardview et les mettre dans une barre d'outils. Il fonctionne, mais il y a toujours un rembourrage sur le côté gauche que je ne peux pas le supprimer (j'ai essayé contentInsetStart, ne fonctionne pas):
<android.support.v7.widget.Toolbar
android:id="@+id/activityCatalogToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"
android:theme="@style/AppTheme.AppBarOverlay"
app:contentInsetStart="0dp"
app:contentInsetLeft="0dp">
<android.support.v7.widget.CardView
android:id="@+id/activityCatalogSearchContainer"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_marginRight="8dp"
android:layout_marginLeft="8dp"
app:cardCornerRadius="4dp"
app:cardElevation="8dp">
<android.support.v7.widget.SearchView
android:id="@+id/activityCatalogSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:queryHint=""
android:iconifiedByDefault="false"/>
</android.support.v7.widget.CardView>
</android.support.v7.widget.Toolbar>
J'ai également essayé de supprimer la barre d'outils et de le remplacer avec juste un FrameLayout. Cela me permet de contrôler le remplissage, mais évidemment je perds la barre d'outils de fonctionnalités (bouton, etc) et introduit également le thème de problèmes (les icônes et le texte disparaît).
Quelqu'un a une idée de comment ils font cela? Je ne veux pas ajouter une autre bibliothèque juste pour le style des widgets qui existent déjà dans le cadre. Merci!
OriginalL'auteur d370urn3ur | 2016-07-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer à la plongée dans ce projet:
https://android.googlesource.com/platform/packages/apps/Dialer/
Pour une Sucette ou de la Guimauve, ou N il a un
SearchEditTextLayout
qui est ce que vous avez besoin de:Avantage
OriginalL'auteur R. Zagórski
Vous devez utiliser cette Coutume de la mise en Œuvre de
SearchView
.https://github.com/Quinny898/PersistentSearch
Android Studio:
Ajouter le dépôt Sonatype si vous ne l'avez pas déjà:
L'importer en tant que dépendance:
Dans votre mise en page:
De sortie :
Celui-ci est vraiment bon github.com/arimorty/floatingsearchview
OriginalL'auteur Ironman
J'étais moi-même en essayant de construire. Terminé juste de faire le bouton rechercher un ImageButton. un clic sur ce déclencherait un Fragment d'être ajouté sur le dessus qui contiendrait un Edittext à l'intérieur d'une mise en page faite pour ressembler à cela. et ce Fragment a consisté en une listview en dessous de cette "searchbox" pour afficher les suggestions.
Astuce: Gardez le Fragment de la rootlayout sans aucune arrière-plan et définir cliquable à true pour obtenir les meilleurs résultats avec une vitre transparente
Je veux faire comme même. Pouvez-vous envoyer votre exemple de code quelque part, comme de la pâte.ubuntu ?
OriginalL'auteur Kushan