7

Attualmente ho un'applicazione nel Play Store sia per tablet che per smartphone Android 3.0+ (http://tinyurl.com/cnejnjs). Per attirare più utenti, sto cercando di far funzionare l'applicazione su una vasta gamma di dispositivi.Android: widget di ricerca ActionBarSherlock

Sono consapevole di ActionBar Sherlock e questo sembra fare quasi tutto ciò che voglio. Una cosa che non offre è la Search Widget che uso nell'applicazione corrente.

C'è un modo per avere una casella di ricerca nella barra delle azioni che aggiorna il frammento di elenco corrente sullo schermo in un modo simile a come funziona il widget di ricerca predefinito?

risposta

19

Il widget di ricerca è solo una semplice azione espandibile. Puoi creare la tua molto facilmente usando un EditText come layout espanso. Puoi vederlo nell'esempio "Articolo azione collassabile" dallo Feature Demos (sebbene sia solo un esempio di base).

è anche possibile utilizzare il widget di built-in su Honeycomb e fino dalla libreria di compatibilità:

Context context = getSupportActionBar().getThemedContext(); 
View searchView = SearchViewCompat.newSearchView(context); 
if (searchView != null) { 
    //Use native implementation 
} else { 
    //Use simple compatibility implementation 
} 

Sostenere un'implementazione compatibile del 99% è anche on the roadmap.

+1

Ho provato la demo dell'elemento di azione comprimibile, ma non so come ottenere il riferimento a EditText. – petrnohejl

+5

Puoi gonfiare il layout nel codice e chiamare 'findViewById' o specificare il layout nel menu XML e quindi chiamare' getActionView(). FindViewById (...) ' –

+0

+1 Opere brillanti, grazie Jake – Naruto