默认情况下,将搜索视图显示为扩展

时间:2016-01-06 05:56:54

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

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

这是我的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);

4 个答案:

答案 0 :(得分:1)

您应该清除搜索,移除焦点,然后致电:

searchView.setIconified(真);

答案 1 :(得分:0)

在onCreateOptionMenu

中尝试此操作
searchView.setIconifiedByDefault(false);

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

如果您正在使用appcompat

MenuItemCompat.expandActionView(mSearchMenuItem);