android - 强制操作栏显示搜索 View

标签 android android-actionbar android-3.0-honeycomb android-4.0-ice-cream-sandwich

我可以通过这样的操作来扩展搜索 View

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

但我有一个 3-tab Activity ,我希望 SearchView 始终展开 我该怎么做?

最佳答案

需要两个步骤。

首先,您必须确保您的搜索菜单项始终显示为一个操作,并且永远不会移动到溢出菜单中。要实现这一点,请将搜索菜单项的 showAsAction 属性设置为 always:

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

其次,确保默认情况下操作 View 未以图标化(即折叠)模式显示。为此,请在您的搜索 View 实例上调用 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;
}

应该可以的。

关于android - 强制操作栏显示搜索 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478227/

相关文章:

java - Android操作栏样式生成器: Change text color of action bar

Android:如何将 ActionBar "Home"图标更改为应用程序图标以外的其他内容?

android - 获取所有外部安装的设备(USB、SD 卡)

android - 如何将数据从 Android 原生 - Kotlin 传递到 React Native?

android - 如何在 Android 操作栏上设置菜单项的样式

android - 更改默认文本颜色并仍然以不同颜色显示禁用的菜单项

安卓 VOIP SipException : Failed to create SipSession

具有不同主题的 Android 应用程序和 Actionbar

android - 过滤 Assets 文件 - android

android - 如何在Android中将字体粗细设置为轻巧、常规