public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater.Inflate(Resource.Menu.toolbarMenu, menu); _searchMenuItem = menu.FindItem(Resource.Id.action_search); _searchView = (SearchView)_searchMenuItem.ActionView; _searchView.MaxWidth = int.MaxValue; _searchMenuItem.SetOnActionExpandListener(new SearchExpandListener(this)); _searchView.QueryTextChange += (s, e) => { SearchAdapter?.Filter.InvokeFilter(e.NewText); }; _searchView.QueryTextSubmit += (s, e) => { if (SearchAdapter != null) { e.Handled = true; } }; if (!string.IsNullOrEmpty(_searchQuery)) { _searchMenuItem.ExpandActionView(); _searchView.SetQuery(_searchQuery, false); } return(true); }
public static void ExpandActionView(this IMenuItem menuItem) { #if API8SUPPORT MenuItemCompat.ExpandActionView(menuItem); #else menuItem.ExpandActionView(); #endif }
public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater.Inflate(Resource.Menu.search_toolbar, menu); IMenuItem searchItem = menu.FindItem(Resource.Id.search); searchItem.ExpandActionView(); searchView = searchItem.ActionView.JavaCast <SearchView>(); searchView.MaxWidth = int.MaxValue; searchView.QueryHint = GetString(Resource.String.youtube_search); searchView.SetQuery(((SearchView)MainActivity.instance.menu.FindItem(Resource.Id.search).ActionView).Query, false); searchView.QueryTextChange += (s, e) => { Console.WriteLine("&Search view query changed, newText: " + e.NewText); if (e.NewText.Length > 0) { Task.Run(() => { try { using (WebClient client = new WebClient { Encoding = System.Text.Encoding.UTF7 }) { string json = client.DownloadString("http://suggestqueries.google.com/complete/search?client=youtube&ds=yt&client=firefox&q=" + /*WebUtility.HtmlEncode(*/ e.NewText /*)*/); json = json.Substring(json.IndexOf(",") + 1); json = json.Remove(json.Length - 1); List <string> items = JsonConvert.DeserializeObject <List <string> >(json); suggestions = items.ConvertAll(StringToSugest); suggestions.InsertRange(0, History.Where(x => x.Text.StartsWith(e.NewText))); if (SearchQuery == null || SearchQuery == "") { RunOnUiThread(new Java.Lang.Runnable(() => { ListView.Adapter = new SuggestionAdapter(instance, Resource.Layout.SuggestionLayout, suggestions); })); } } } catch (Exception ex) { Console.WriteLine("&Search ex: " + ex.Message); } }); } else { suggestions = History; adapter = new SuggestionAdapter(instance, Resource.Layout.SuggestionLayout, suggestions); ListView.Adapter = adapter; } }; searchView.QueryTextSubmit += (s, e) => { SearchQuery = e.NewText; AddQueryToHistory(e.NewText); Finish(); OverridePendingTransition(0, 0); e.Handled = true; }; searchItem.SetOnActionExpandListener(this); return(base.OnCreateOptionsMenu(menu)); }
private static void SetIsActionViewExpanded(IBindingMemberInfo bindingMemberInfo, IMenuItem menuItem, bool value) { if (value) { menuItem.ExpandActionView(); } else { menuItem.CollapseActionView(); } }
private static void SetIsActionViewExpanded(IBindingMemberInfo bindingMemberInfo, IMenuItem menuItem, bool value) { #if APPCOMPAT if (value) { MenuItemCompat.ExpandActionView(menuItem); } else { MenuItemCompat.CollapseActionView(menuItem); } #else if (value) { menuItem.ExpandActionView(); } else { menuItem.CollapseActionView(); } #endif }
public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater.Inflate(Resource.Menu.Hoofdscherm, menu); _searchItem = menu.FindItem(Resource.Id.search); _searchItem.ExpandActionView(); MenuItemCompat.SetOnActionExpandListener(_searchItem, this); View tempSearchView = MenuItemCompat.GetActionView(_searchItem); _searchView = tempSearchView.JavaCast<SearchView>(); _searchView.SetIconifiedByDefault(false); _searchView.RequestFocus(); _searchView.QueryTextChange += (sender, args) => { if (args.NewText.Length > 0) { _adapter.Filter.InvokeFilter(args.NewText); } else { _adapter.Filter.InvokeFilter("zxcvbnmasdfghjklqwertyuiopmnbvcxzlkjhgfdsapoiuytrewq"); } }; _searchView.QueryTextSubmit += (sender, args) => { if (args.Query.Length > 0) { _adapter.Filter.InvokeFilter(args.Query); } else { _adapter.Filter.InvokeFilter("zxcvbnmasdfghjklqwertyuiopmnbvcxzlkjhgfdsapoiuytrewq"); } Toast.MakeText(this, _adapter.Items.Count + " results", ToastLength.Short).Show(); }; return base.OnCreateOptionsMenu(menu); }
public bool OnMenuItemClick(IMenuItem item) { item.ExpandActionView(); return(true); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { System.Console.WriteLine("&Pager view created"); View view = inflater.Inflate(Resource.Layout.ViewPager, container, false); TabLayout tabs = Activity.FindViewById<TabLayout>(Resource.Id.tabs); ViewPager pager = view.FindViewById<ViewPager>(Resource.Id.pager); ((AppBarLayout.LayoutParams)Activity.FindViewById<CollapsingToolbarLayout>(Resource.Id.collapsingToolbar).LayoutParameters).ScrollFlags = AppBarLayout.LayoutParams.ScrollFlagScroll | AppBarLayout.LayoutParams.ScrollFlagEnterAlways | AppBarLayout.LayoutParams.ScrollFlagSnap; tabs.Visibility = ViewStates.Visible; tabs.RemoveAllTabs(); if (type == 0) { tabs.AddTab(tabs.NewTab().SetText(Resources.GetString(Resource.String.songs))); tabs.AddTab(tabs.NewTab().SetText(Resources.GetString(Resource.String.folders))); adapter = new ViewPagerAdapter(ChildFragmentManager); adapter.AddFragment(Browse.NewInstance(), Resources.GetString(Resource.String.songs)); adapter.AddFragment(FolderBrowse.NewInstance(), Resources.GetString(Resource.String.folders)); pager.Adapter = adapter; pager.AddOnPageChangeListener(this); pager.AddOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabs)); tabs.SetupWithViewPager(pager); tabs.TabReselected += OnTabReselected; pager.CurrentItem = pos; tabs.TabMode = TabLayout.ModeFixed; tabs.SetScrollPosition(pos, 0f, true); } else if (type == 1) { tabs.AddTab(tabs.NewTab().SetText(Resources.GetString(Resource.String.all))); tabs.AddTab(tabs.NewTab().SetText(Resources.GetString(Resource.String.songs))); tabs.AddTab(tabs.NewTab().SetText(Resources.GetString(Resource.String.playlists))); tabs.AddTab(tabs.NewTab().SetText(Resources.GetString(Resource.String.lives))); tabs.AddTab(tabs.NewTab().SetText(Resources.GetString(Resource.String.channels))); ViewPagerAdapter adapter = new ViewPagerAdapter(ChildFragmentManager); Fragment[] fragment = YoutubeSearch.NewInstances(query); adapter.AddFragment(fragment[0], Resources.GetString(Resource.String.all)); adapter.AddFragment(fragment[1], Resources.GetString(Resource.String.songs)); adapter.AddFragment(fragment[2], Resources.GetString(Resource.String.playlists)); adapter.AddFragment(fragment[3], Resources.GetString(Resource.String.lives)); adapter.AddFragment(fragment[4], Resources.GetString(Resource.String.channels)); pager.Adapter = adapter; pager.AddOnPageChangeListener(this); pager.AddOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabs)); tabs.SetupWithViewPager(pager); tabs.TabReselected += OnTabReselected; pager.CurrentItem = pos; tabs.TabMode = TabLayout.ModeScrollable; tabs.SetScrollPosition(pos, 0f, true); YoutubeSearch.instances[pos].IsFocused = true; YoutubeSearch.instances[pos].OnFocus(); MainActivity.instance.FindViewById<TabLayout>(Resource.Id.tabs).Visibility = ViewStates.Visible; IMenuItem searchItem = MainActivity.instance.menu.FindItem(Resource.Id.search); SearchView searchView = (SearchView)searchItem.ActionView; searchView.Focusable = false; searchItem.ExpandActionView(); searchView.SetQuery(query, false); searchView.ClearFocus(); searchView.Focusable = true; } return view; }