22

このようなアクションで検索ビューを拡大することができます

<item android:id="@+id/menu_search"
          android:title="Search"
          android:showAsAction="never|collapseActionView"
          android:actionViewClass="android.widget.SearchView" />

しかし、3つのタブのアクティビティがあり、SearchViewを常に拡張したいのですが、どうすればよいですか?

4

1 に答える 1

63

2つのステップが必要です。

まず、検索メニュー項目が常にアクションとして表示され、オーバーフローメニューに移動しないようにする必要があります。これを実現するには、検索メニュー項目のshowAsAction属性をalways次のように設定します。

<item
    android:id="@+id/menu_search"
    android:title="Search"
    android:showAsAction="always"
    android:actionViewClass="android.widget.SearchView" />

次に、アクションビューがデフォルトでアイコン化(つまり折りたたまれた)モードで表示されていないことを確認します。setIconifiedByDefault(false)検索ビューインスタンスでこの呼び出しを行うには:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.my_activity, menu);

    MenuItem searchViewItem = menu.findItem(R.id.menu_search);
    SearchView searchView = (SearchView) searchViewItem.getActionView();
    [...]
    searchView.setIconifiedByDefault(false);

    return true;
}

それはそれをする必要があります。

于 2012-07-26T16:25:29.383 に答える