2015-03-25 40 views
-1

我需要建議使用最好的方式來顯示與自定義標題的搜索查看。與自定義標題的Android可摺疊的搜索查看

我headerlayout最初應是這樣的

initial view

並點擊標題右側的搜索按鈕後,就必須更換頭標題和菜單圖標部分,像這樣的搜索輸入字段。

after clicking search icon

在這種狀態下按下回來,應該直接到初始狀態。

我該怎麼做?

回答

0

您是否想要定製SearchView或者是您的標準配置? 如果是我建議尋找到ActionBarActionView

Android ActionBar documentation約在菜單資源目錄添加的ActionView

+0

其實我還沒有用過SearchView呢。所以,我想,無論什麼適合我的目的,盡最大努力,是好的:) – NarendraJi 2015-03-25 12:12:30

+0

我想開箱即用的SearchView對你來說會很好。 – 2015-03-25 12:24:16

0


search_country_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<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="@drawable/abc_ic_search" 
     app:showAsAction="always|collapseActionView" 
     android:orderInCategory="0" 
     app:actionViewClass="android.support.v7.widget.SearchView"/> 

</menu> 

**在活動的onCreateOptionmenu方法**

public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.search_country_menu, menu); 
     SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
     searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); 
     searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 
     menu.findItem(R.id.action_search).expandActionView(); 
     searchView.setQueryHint(getResources().getString(R.string.select_country)); 
     searchView.setImeOptions(EditorInfo.IME_ACTION_DONE); 

     searchView.setOnQueryTextListener(new OnQueryTextListener() { 

      @Override 
      public boolean onQueryTextSubmit(String arg0) { 
       searchView.clearFocus(); 
        return true; 
      } 
      @Override 
      public boolean onQueryTextChange(String arg0) { 
       etSearch.setText(arg0); 
       return true; 
      } 
     }); 
     return super.onCreateOptionsMenu(menu); 
    } 
+0

但我有一個自定義標題。它會與那個一起工作嗎? – NarendraJi 2015-03-25 12:39:12