14ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes/* 24ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * Copyright (C) 2014 The Android Open Source Project 34ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * 44ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 54ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * you may not use this file except in compliance with the License. 64ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * You may obtain a copy of the License at 74ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * 84ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * http://www.apache.org/licenses/LICENSE-2.0 94ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * 104ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * Unless required by applicable law or agreed to in writing, software 114ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * distributed under the License is distributed on an "AS IS" BASIS, 124ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * See the License for the specific language governing permissions and 144ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * limitations under the License. 154ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes */ 164ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banespackage com.example.android.supportv7.app; 174ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 184ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.app.SearchManager; 194ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.os.Bundle; 204ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.view.Menu; 214ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.view.MenuInflater; 224ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.view.MenuItem; 234ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.widget.Toast; 244ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 25def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.app.AppCompatActivity; 26def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.widget.SearchView; 27def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.widget.Toolbar; 28def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas 29458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikasimport com.example.android.supportv7.R; 30458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikas 314ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes/** 324ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * This demonstrates idiomatic usage of the Toolbar as the action bar. 334ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes */ 3444d25261c2a38c81f1eea123de3986b453b9afeeChris Banespublic class ToolbarUsage extends AppCompatActivity { 354ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 364ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes @Override 374ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes protected void onCreate(Bundle savedInstanceState) { 384ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes super.onCreate(savedInstanceState); 394ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes setContentView(R.layout.toolbar_usage); 404ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 414ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes // Retrieve the Toolbar from our content view, and set it as the action bar 42fa2e2acf79d791a90410025daad438968550d18cAlan Viverette Toolbar toolbar = findViewById(R.id.toolbar); 434ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes setSupportActionBar(toolbar); 444ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes } 454ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 464ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes @Override 474ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes public boolean onCreateOptionsMenu(Menu menu) { 484ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes MenuInflater inflater = getMenuInflater(); 494ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes inflater.inflate(R.menu.actions, menu); 504ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 514ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes // Retrieve the SearchView and plug it into SearchManager 52458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikas final SearchView searchView = 53458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikas (SearchView) menu.findItem(R.id.action_search).getActionView(); 544ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 554ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 564ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 574ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 584ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes return true; 594ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes } 604ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 614ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes @Override 624ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes public boolean onOptionsItemSelected(MenuItem item) { 634ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show(); 644ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes return true; 654ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes } 664ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes 674ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes} 68