I have a actionbar searchview implemented as below
public override bool OnCreateOptionsMenu(IMenu menu)
{
var inflater = MenuInflater;
inflater.Inflate(Resource.Menu.main, menu);
_searchItem = menu.FindItem(Resource.Id.action_search);
var view = MenuItemCompat.GetActionView(_searchItem);
_searchItem.SetVisible(_isSearchVisible);
_searchView = view.JavaCast<SearchView>();
var searchBarId = _searchView.Context.Resources.GetIdentifier("android:id/search_bar", null, null);
var searchBar = (LinearLayout) _searchView.FindViewById(searchBarId);
searchBar.LayoutTransition = new LayoutTransition();
if (_searchView == null) return base.OnCreateOptionsMenu(menu);
var columns = new[]
{
BaseColumns.Id, SearchManager.SuggestColumnText1, SearchManager.SuggestColumnText2,
SearchManager.SuggestColumnText2Url
};
_suggestionsAdapter = new SearchSuggestionsAdapter(this, Resource.Layout.search_suggestion_item, null,
columns, new[] {Resource.Id.title});
_searchView.SuggestionsAdapter = _suggestionsAdapter;
_searchView.SuggestionClick += (sender, e) =>
{
////Handle suggestion click
};
_searchView.QueryTextChange += async (sender, e) =>
{
if (e.NewText.Length > 2)
{
await LoadSuggestions(e.NewText);
}
e.Handled = true;
};
_searchView.QueryTextSubmit += async (sender, e) =>
{
if (e.Query.Length > 2)
{
await LoadSuggestions(e.Query);
}
e.Handled = true;
};
return base.OnCreateOptionsMenu(menu);
}
My problem here is when searchview is tapped the keyboard is shown, but whenever I click anywhere outside the searchview it does not lose focus, only on clicking the close button in search view it loses focus. how can I achieve what playstore has it like dim the display behind the searchview and if that part is clicked the searchview should close
I tried using
_searchView.QueryTextFocusChange += (s, e) => { };
but it only calls when search icon is clicked or close icon is clicked not when any other part of screen is clicked.
Thanks