2013-10-17 72 views
0

我想設置背景(類似於EditText Background)到我的ActionBar SearchItem。這是目前的行動欄。爲Actionbar設置背景SearchItem

enter image description here

我想這樣的背景繪製設置爲。

enter image description here

下面是如何創建searchItem

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    super.onCreateOptionsMenu(menu, inflater); 
    inflater.inflate(R.menu.guest_list, menu); 

    MenuItem searchItem = menu.findItem(R.id.search); 
    SearchManager searchManager = (SearchManager) getActivity() 
      .getSystemService(Context.SEARCH_SERVICE); 

    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { 
     SearchView searchView = (SearchView) searchItem.getActionView(); 
     searchView.setSearchableInfo(searchManager 
       .getSearchableInfo(getActivity().getComponentName())); 
     searchView.setIconified(true); 
     searchView.setSubmitButtonEnabled(true); 
     searchView.setOnQueryTextListener(new OnQueryTextListener() { 

      @Override 
      public boolean onQueryTextSubmit(String query) { 
       setFilter(query); 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String query) { 
       setFilter(query); 
       return false; 
      } 
     }); 
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
     SearchView searchView = (SearchView) searchItem.getActionView(); 

     searchView.setSearchableInfo(searchManager 
       .getSearchableInfo(getActivity().getComponentName())); 
     searchView.setIconified(true); 
     searchView.setSubmitButtonEnabled(true); 
     searchView.setOnQueryTextListener(new OnQueryTextListener() { 

      @Override 
      public boolean onQueryTextSubmit(String query) { 
       setFilter(query); 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String query) { 
       setFilter(query); 
       return false; 
      } 
     }); 
    } 
} 

我試着通過searchView.setBackgroundDrawable設置背景,但我沒有得到什麼,我喜歡來實現。

回答