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

两个步骤是必要的。

首先,您必须确保您的搜索菜单项始终显示为一个操作,并且永远不会移动到溢出菜单中。要实现这一点,请将搜索菜单项的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 回答