标签:
The action bar is one of the most important design elements you can implement for your app‘s activities. It provides several user interface features that make your app immediately familiar to users by offering consistency between other Android apps. Key functions include:
A dedicated space for giving your app an identity and indicating the user‘s location in the app.
Access to important actions in a predictable way (such as Search).
Support for navigation and view switching (with tabs or drop-down lists).
1.引用V7-appcompat
> To get started, read the Support Library Setup document and set up the v7 appcompat library
2.Activity继承ActionBarActivity
> Update your activity so that it extends ActionBarActivity
3.在配置清单文件中,android:theme="@style/Theme.AppCompat.Light"
> In your manifest file, update either the <application> element or individual <activity> elements to use one of the Theme.AppCompat themes.
Add an <item>
element for each item you want to include in the action bar. For example:
res/menu/main_activity_actions.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" yourapp:showAsAction="ifRoom" /> ... </menu>
在配置清单文件中,android:theme="@android:style/Theme.Holo..."
Add an <item>
element for each item you want to include in the action bar. For example:
res/menu/main_activity_actions.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" android:showAsAction="ifRoom" /> <!-- Settings, should always be in the overflow --> <item android:id="@+id/action_settings" android:title="@string/action_settings" android:showAsAction="never" /> </menu>
在Activity中,增加以下代码:
public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.activity_main, menu); // 不兼容低版本 SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); searchView.setOnQueryTextListener(this); // 搜索的监听 return super.onCreateOptionsMenu(menu); }
public boolean onOptionsItemSelected(MenuItem item) { // Handle presses on the action bar items switch (item.getItemId()) { case R.id.action_search: openSearch(); return true; default: return super.onOptionsItemSelected(item); } }
标签:
原文地址:http://www.cnblogs.com/whyalwaysme/p/4596862.html