更新:コードから可能です。toMenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
のコンテキストを追加して変更する必要があります。SearchView
getActionBar().getThemedContext()
MenuItem item = menu.add("Search");
SearchView sv = new SearchView(getActionBar().getThemedContext());
item.setActionView(sv);
item.setIcon(R.drawable.ic_search);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
| MenuItem.SHOW_AS_ACTION_IF_ROOM);
SearchView
推奨される方法ではないコードからアクション アイテムを作成しようとしています。次のような検索項目を含むメニュー リソースを定義します。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_search"
android:showAsAction="collapseActionView|ifRoom"
android:title="@string/search_title"/>
</menu>
で膨らませるonCreateOptionsMenu
:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
これで問題は解決します。詳細については、Android ドキュメントのアクション バーに検索ビューを追加するを参照してください。