【问题标题】:Display show search view as extended by default默认情况下将显示搜索视图显示为扩展
【发布时间】:2016-01-06 05:56:54
【问题描述】:

我已经在操作栏中实现了搜索视图。现在的情况是,默认搜索图标是可见的,当我点击它时,它会扩展为文本。但是我想在活动打开时默认显示它扩展,不想打开搜索图标。为此我该怎么办?对不起我的英语不好。

这是我的 menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="@string/search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        android:imeOptions="actionSearch|flagNoExtractUi"
        app:showAsAction="always" />

    <item
        android:id="@+id/action_settings"
        android:title="@string/settings"
        app:showAsAction="never" />
</menu>

================================

在活动中,在 onCreateOptionMenu() 方法中,我的代码如下:

inflater.inflate(R.menu.videoitem_list, menu);
            MenuItem searchItem = menu.findItem(R.id.action_search);
            searchView = (SearchView) searchItem.getActionView();
            searchView.setFocusable(false);

            ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)).setTextColor(Color.WHITE);
            ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)).setHintTextColor(Color.WHITE);

【问题讨论】:

    标签: android android-layout android-actionbar android-actionbar-compat


    【解决方案1】:

    你应该清除搜索,移除焦点然后调用:

    searchView.setIconified(true);

    【讨论】:

    • 我使用了这行代码,我可以看到展开的搜索视图,但明文图标不见了。我怎样才能获得明文的图标?
    • 放这行代码,可以看到扩展的搜索视图,但我遇到了问题。我看不到右上角的设置图标。
    【解决方案2】:

    在 onCreateOptionMenu 中试试这个

    searchView.setIconifiedByDefault(false);
    

    【讨论】:

      【解决方案3】:

      您应该在 XML 上使用属性android:iconifiedByDefault="false" 或以编程方式设置setIconifiedByDefault(false)。它将扩展searchView

      您可以在这里找到更多详细信息。public void setIconifiedByDefault (boolean iconified)

      【讨论】:

      • 我使用了这行代码,我可以看到展开的搜索视图,但明文图标不见了。我怎样才能获得明文的图标?
      • @Ravi,最初SearchView 将为空,因此,明文的十字图标将不可见。但是,每当您开始输入时,就会看到用于明文的十字按钮。
      【解决方案4】:

      如果您使用的是 appcompat,请使用

      MenuItemCompat.expandActionView(mSearchMenuItem);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-20
        • 2016-11-30
        • 1970-01-01
        • 2014-07-09
        • 2015-07-08
        • 2019-08-14
        • 2018-06-17
        • 1970-01-01
        相关资源
        最近更新 更多