吐血经验 ActionBar ActionView (解决点击按钮不Expand的问题)
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actionbar, menu); MenuItem searchItem = menu.findItem(R.id.action_search); MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() { @Override public boolean onMenuItemActionExpand(MenuItem item) { Toast.makeText(MainActivity.this,"Expand",Toast.LENGTH_LONG); return true; } @Override public boolean onMenuItemActionCollapse(MenuItem item) { Toast.makeText(MainActivity.this,"Collapse",Toast.LENGTH_LONG); return true; } }); return super.onCreateOptionsMenu(menu); }
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" tools:context="com.example.actionbartest.MainActivity"> <item android:id="@+id/action_search" android:icon="@drawable/search" app:actionViewClass="android.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" android:title="Search" /> <item android:id="@+id/action_compose" android:icon="@drawable/san" app:showAsAction="never" android:title="Compose"/> <item android:id="@+id/action_delete" android:icon="@drawable/san" app:showAsAction="never" android:title="Delete"/> <item android:id="@+id/action_settings" android:icon="@drawable/san" app:showAsAction="never" android:title="Overflow"/> </menu>