1

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

goldsmit409
  • 478
  • 4
  • 26
  • 1
    follow http://stackoverflow.com/questions/17590874/how-to-make-searchview-loose-focus-and-collapse-when-clicked-elsewhere-on-activi\ – Ajit Kumar Dubey Sep 08 '15 at 10:15

0 Answers0