Android – Inserindo barra de busca na action bar (Add the Search View to the Action Bar)

SearchView

 

Pesquisa é uma característica central do usuário Android. Os usuários devem ser capazes de pesquisar os dados que está disponível para eles, independente se o conteúdo está localizado no dispositivo ou na Internet. Para ajudar a criar uma experiência de pesquisa consistente para os usuários, o Android oferece uma estrutura de busca que ajuda você a implementar a pesquisa para sua aplicação.

Neste Exemplo vamos aprender como inserir o Widget na ActionBar do sistema, nada mais. Vou mostrar exemplos para inseri-lo utilizando o SearchView API 11> e o SearchView da biblioteca de suporte v7.  Vamos ver nos passos a seguir:

1 – Criando o XML que contem o SearchView:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/search"
        android:actionViewClass="android.widget.SearchView"
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="collapseActionView|ifRoom"
        android:title="@string/search_title"/>

</menu>

Se estivermos utilizando a biblioteca de suporte com ActionBarActivity nosso menu deve ficar dessa forma:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="@string/search_title"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="collapseActionView|ifRoom"/>

</menu>

2 – Inserindo o menu em nossa Activity ou ActionBarActivity

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		super.onCreateOptionsMenu(menu);

                //Carrega o arquivo de menu. 
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.search_view, menu);

                //Pega o Componente.  
		SearchView mSearchView = (SearchView) menu.findItem(R.id.search)
				.getActionView();
		//Define um texto de ajuda:
                mSearchView.setQueryHint("teste");

		// exemplos de utilização:
		mSearchView.setOnQueryTextListener(this);

		return true;
	}

Neste caso o que muda para a biblioteca de suporte é o import, no caso será utilizado android.support.v7.widget.SearchView; ou android.widget.SearchView;

A implementação da interface de busca vai ficar para outra publicação, mas caso alguém queira saber seu funcionamento basta seguir esses passos:
http://developer.android.com/guide/topics/search/search-dialog.html

Help DEV – Analista desenvolvedor Java / Android

http://helpdev.com.br/zarelli

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>