ActionBar总是展开的SearchView,图标在内部。

3

我有一个带有SearchView的ActionBar。

我想搜索视图始终为“打开”(展开)。通过使用

mSearchView.setIconifiedByDefault(false);

但出于某种原因,它将搜索图标移到了文本区域外:

enter image description here

如果不使用 setIconifiedByDefault(),则它在展开时的外观与我所期望的相同:

enter image description here

但然后它会在返回时折叠成一个搜索图标,并且...

MenuItemCompat.expandActionView(searchItem);

似乎没有帮助。

有没有一种方法可以实现我想要的?

3个回答

1
你可以拦截 OnClose 事件:
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
    @Override
    public boolean onClose() {
        return true;
    }
});

0
我通过更改我的 XML 成功解决了这个问题。
<item android:id="@+id/search"
android:icon="@drawable/my_icon"
app:showAsAction="always|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />

<item android:id="@+id/search"
android:icon="@drawable/my_icon"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView" />

0

始终在操作栏上显示/展开搜索框

这是一个2步解决方案,

1.public void onCreateOptionsMenu(M... ... searchView.setIconifiedByDefault(false); }

2. In the menu xml file, make sure android:showAsAction="always" is set

<item    
        android:id="@+id/grid_default_search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="search"
        android:showAsAction="always"
        android:actionViewClass="android.widget.SearchView"
    />


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接