簡體   English   中英

ActionBar 總是用里面的圖標展開 SearchView

[英]ActionBar always expanded SearchView with the icon inside

我有一個帶有 SearchView 的 ActionBar。

我希望搜索視圖始終“打開”(擴展)。 這樣做可以使用

mSearchView.setIconifiedByDefault(false);

但它出於某種原因將搜索圖標移到文本區域之外:在此處輸入圖片說明

如果我不使用setIconifiedByDefault(),看起來我希望它在展開時看起來:在此處輸入圖片說明

但隨后它折疊成背面的搜索圖標,並且

MenuItemCompat.expandActionView(searchItem);

似乎沒有幫助。

有沒有辦法實現我想要的?

您可以攔截 OnClose 事件:

searchView.setOnCloseListener(new SearchView.OnCloseListener() {
    @Override
    public boolean onClose() {
        return true;
    }
});

我能夠通過更改我的 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" />

始終在操作欄上顯示/展開搜索框

這是一個兩步的解決方案,

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

2.在菜單xml文件中,確保設置了android:showAsAction="always"

<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"
    />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM