19

Próbuję zaimplementować funkcję Wyszukaj w mojej aplikacji na Androida podobną do najnowszej aplikacji Gmail (ikona wyszukiwania na pasku akcji).Jak wdrożyć pasek wyszukiwania, taki jak aplikacja Gmail w systemie Android?

enter image description here

Na stukając ikonę wyszukiwania, pasek akcja zamienia się w polu wyszukiwania z tylnym przyciskiem po lewej stronie, oraz przycisk mikrofonu po prawej stronie. Chcę mieć ten sam komponent w mojej aplikacji.

Czy jest dostępna biblioteka lub samouczek?

Czy to możliwe, aby wspierać ten typ wyszukiwania materiałów w wersjach innych niż Lollipop. ?

+1

Proszę wyjaśnić, co to jest "to", ponieważ nie jest jasne, o co prosisz. To jest długa strona internetowa, z którą się łączyłeś, a próba objęcia wszystkich możliwych aspektów tego, co jest na tej stronie, byłaby zbyt szeroka dla Stack Overflow. – CommonsWare

+0

@CommonsWare Czy możesz teraz zobaczyć dany obraz? – Saran

+0

To nie wyjaśnia, czym jest "to". Jeśli "to" jest po prostu "ikoną wyszukiwania na pasku akcji", to wydaje się, że jest to 'SearchView'. – CommonsWare

Odpowiedz

8

Ta biblioteka to zrobić, jedyną rzeczą, że nie robi to wsady, ale spodziewam można wdrożyć je dość łatwo z innych zasobów:

https://github.com/Quinny898/PersistentSearch

Tutaj obraz pracy wykonywanej w tym.

enter image description here

+1

powyższa biblioteka została przestarzała ... oficjalnie. –

13

nie wiem o wersji lizaka, ale jeśli chcesz wyszukać takiego, można dodać to „main_activity_actions” do paska Działanie:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:yourapp="http://schemas.android.com/apk/res-auto" > 
    <item android:id="@+id/action_search" 
      android:title="@string/action_search" 
      android:icon="@drawable/ic_action_search" 
      yourapp:showAsAction="ifRoom|collapseActionView" 
      yourapp:actionViewClass="android.support.v7.widget.SearchView" /> 
</menu> 

i zastąpić to w Java:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main_activity_actions, menu); 
    MenuItem searchItem = menu.findItem(R.id.action_search); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
    // Configure the search info and add any event listeners 
    ... 
    return super.onCreateOptionsMenu(menu); 
} 

więcej informacji here, jest częścią słownika, ale jest to ten sam pomysł, do zobaczenia!

Powiązane problemy