El día de hoy les traigo un ejemplo de como crear un SearchView para buscar items dentro de un ListView.
Primero vamos a crear una nuevo proyecto del tipo "Android Application".
Despues de crear nuestro proyecto vamos a la carpeta de componentes donde añadiremos el componente de "Android Support Library v7 AppCompat"
Ahora vamos a comenzar una carpeta llamada Menu dentro de la carpeta Resources, y dentro de la carpeta Menu creamos un archivo llamado main.xml con el siguiente codigo.
Ahora vamos con nuestro layout principal que es el que muestra nuestro Search Bar y el ListView con los items donde realizaremos la busqueda.
Después vamos a nuestro MainActivity.cs, primero cambiamos el tipo de la clase de "Activity" a "ActionBarActivity".
using Android.App;
using Android.Runtime;
using Android.Support.V4.View;
using Android.Support.V7.App;
using Android.Support.V7.Widget;
using Android.Views;
using Android.OS;
using Android.Widget;
namespace SearchBar
{
 [Activity(Label = "SearchView Ejemplo", MainLauncher = true, Icon = "@drawable/icon",
  Theme = "@style/Theme.AppCompat.Light")]
 public class SearchViewActivity : ActionBarActivity
 {
  private Android.Support.V7.Widget.SearchView _searchView;
  private ListView _listView;
  private ArrayAdapter _adapter;
  protected override void OnCreate(Bundle bundle)
  {
   base.OnCreate(bundle);
   // Set our view from the "main" layout resource
   SetContentView(Resource.Layout.Main);
   var Names = new[]
   {
    "Ricardo Romo Gonzalez","Alejandro Ruiz Varela","Christian Salvador Arenas",
    "Armando Balleza","Jorge Vazquez","Enrique Torres","Angel Alberto Mejia","Juan Manuel Perez",
    "Ruben Perez","Pedro Navajas","Jose Alfredo Jimenez","Antonio Aguilar"
   };
   _listView = FindViewById(Resource.Id.listView);
   _adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, Names);
   _listView.Adapter = _adapter;
  }
  public override bool OnCreateOptionsMenu(IMenu menu)
  {
   MenuInflater.Inflate(Resource.Menu.main, menu);
   var item = menu.FindItem(Resource.Id.action_search);
   MenuItemCompat.SetOnActionExpandListener(item, new SearchViewExpandListener(_adapter));
   var searchItem = MenuItemCompat.GetActionView(item);
   _searchView = searchItem.JavaCast();
   _searchView.QueryTextChange += (s, e) => _adapter.Filter.InvokeFilter(e.NewText);
   _searchView.QueryTextSubmit += (s, e) =>
   {
    //TODO: Do something fancy when search button on keyboard is pressed
    Toast.MakeText(this, "Searched for: " + e.Query, ToastLength.Short).Show();
    e.Handled = true;
   };
   return true;
  }
 }
}   
Creamos una nueva clase llamada "SearchViewExpandListener"  implementado "IOnActionExpandListener" para poder expandir o contrar cuando se realiza una busqueda.
using System;
using Android.Support.V4.View;
using Android.Widget;
using Android.Views;
namespace SearchBar
{
 public class SearchViewExpandListener
  : Java.Lang.Object, MenuItemCompat.IOnActionExpandListener
 {
  private readonly IFilterable _adapter;
  public SearchViewExpandListener(IFilterable adapter)
  {
   _adapter = adapter;
  }
  public bool OnMenuItemActionCollapse(IMenuItem item)
  {
   _adapter.Filter.InvokeFilter("");
   return true;
  }
  public bool OnMenuItemActionExpand(IMenuItem item)
  {
   return true;
  }
 }
}
Después de realizar los pasos anteriores corremos nuestro proyecto y deber aparecer como a continuación.
Esto fue un pequeño ejemplo de como utilizar el SearchView en Xamarin.Android espero que le ayude cualquier cosa deja un comentario.
Gracias.
Puedes descargar el proyecto desde mi github :SearchBar












