2013-12-12 131 views
1

在我的應用程序中,我試圖在操作欄中添加一個searchView。但是,點擊搜索圖標searchView正在擴展到整個操作欄,同時單擊該按鈕它將進入normalView。SearchView佔據整個actionBar空間

單擊搜索圖標時。它是未來這樣..

enter image description here

But I want a behavior like this.. 

enter image description here

options_menu.xml

<item 
    android:id="@+id/search" 
    myapp:actionViewClass="android.support.v7.widget.SearchView" 
    myapp:showAsAction="ifRoom|collapseActionView" 
    android:icon="@drawable/ic_action_search" 
    android:title="@string/search_title"/> 

onCreateOptions()方法

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.options_menu, menu); 


    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
    MenuItem searchItem = menu.findItem(R.id.search); 
    mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem); 

    mSearchView.setSearchableInfo(searchManager 
      .getSearchableInfo(getComponentName()));   

    mSearchView.setBaselineAligned(false); 
    return super.onCreateOptionsMenu(menu); 
} 

請幫忙提前me..Thanks ...

+0

發表您的menu.xml文件和相關代碼.... – AndroidLearner

+0

我剛添加的代碼... – bGorle

回答

0

我只是評論這樣的代碼...現在可以正常工作......

case R.id.search: 
     //onSearchRequested(); 
     return true; 
0

加入這一行你onCreateOptionsMenu()

searchView.setIconifiedByDefault(false); 

任何特別的原因在menu.xml文件兩次寫入屬性?

+0

它用於在文本框之外創建搜索圖標...它將空指針異常與... – bGorle

+0

您正在使用您的名稱空間和Android名稱空間both.use只有您定義的名稱空間,然後嘗試。如果問題仍然存在,請在這裏添加logcat – AndroidLearner

+0

我試過也..它不會幫助.. – bGorle

相關問題