2015-01-14 19 views
6

Come visualizzare SearchView suggerimenti che utilizzano l'intera larghezza dello schermo utilizzando appcompat-v7:21?SearchView Suggerimento - Larghezza del layout: match_parent

Uso android.support.v7.widget.SearchView nel codice e nella risorsa menu. Il nuovo widget Toolbar ha un searchViewStyle, ma non sono riuscito a trovare un parametro per visualizzare i suggerimenti a larghezza intera (match_parent).

Example http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/07/material-makeover-4.jpeg

+0

creare una bella lib, avere uno sguardo: http://stackoverflow.com/a/32693670/3722311 – programmer

risposta

1

si può fare in questo modo: (è su DropDownAnchor)

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_search, menu); 

    MenuItem searchItem = menu.findItem(R.id.action_search_search); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 

    int searchEditTextId = R.id.search_src_text; 
    final AutoCompleteTextView searchEditText = (AutoCompleteTextView) searchView.findViewById(searchEditTextId); 
    final View dropDownAnchor = searchView.findViewById(searchEditText.getDropDownAnchor()); 

    if (dropDownAnchor != null) { 
     dropDownAnchor.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { 
      @Override 
      public void onLayoutChange(View v, int left, int top, int right, int bottom, 
            int oldLeft, int oldTop, int oldRight, int oldBottom) { 

       // screen width 
       int screenWidthPixel = ActivitySearchUni.this.getResources().getDisplayMetrics().widthPixels; 
       searchEditText.setDropDownWidth(screenWidthPixel); 
      } 
     }); 
    } 

    return true; 
} 
Problemi correlati